122426 Commits

Author SHA1 Message Date
Lzu Tao
8b2092803e Stabilize Option::zip 2020-06-13 01:27:18 +00:00
Lzu Tao
c755292859 Prefer the associated consts for pattern matching error 2020-06-13 01:18:18 +00:00
bors
1fb612bd15 Auto merge of #73277 - RalfJung:miri-caller-location, r=oli-obk
fix caller_location intrinsic for Miri

Fixes https://github.com/rust-lang/rust/issues/73272

r? @oli-obk Cc @Aaron1011
2020-06-13 00:55:34 +00:00
Eduardo Broto
b21ef2b365 Fix ICE in consts::binop 2020-06-13 00:52:32 +02:00
Eric Huss
c0aef6d816 Remove vestigial CI job msvc-aux. 2020-06-12 14:17:42 -07:00
bors
f4fbb93113 Auto merge of #73262 - wesleywiser:simplifyarmidentity_beta_regression, r=oli-obk
Disable the `SimplifyArmIdentity` pass

This pass is buggy so I'm disabling it to fix a stable-to-beta
regression.

Related to #73223
2020-06-12 19:38:15 +00:00
LeSeulArtichaut
b126f329f9
Fix links when pinging notification groups 2020-06-12 20:33:18 +02:00
Ralf Jung
f0d2e78d39 add raw_ref macros 2020-06-12 19:10:58 +02:00
Dylan MacKenzie
280176178b Make type_marked_structural private 2020-06-12 08:55:52 -07:00
Dylan MacKenzie
1dd45612f8 Use "reflexive equality" in docs 2020-06-12 08:55:16 -07:00
Dylan MacKenzie
bd4bd59ad7 Helper method for whether type has structural equality
This helper method works for all types, falling back to a query for
`TyKind::Adt`s to determine whether the implement the
`{Partial,}StructuralEq` traits.
2020-06-12 08:50:17 -07:00
bors
7c78a5f97d Auto merge of #73276 - Dylan-DPC:rollup-hfd81qw, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #72906 (Migrate to numeric associated consts)
 - #73178 (expand: More precise locations for expansion-time lints)
 - #73225 (Allow inference regions when relating consts)
 - #73236 (Clean up E0666 explanation)
 - #73273 (Fix Zulip pings)

Failed merges:

r? @ghost
2020-06-12 13:10:57 +00:00
Wesley Wiser
f1605834a5 Disable the SimplifyArmIdentity pass on beta
This pass is buggy so I'm disabling it to fix a stable-to-beta
regression.

Related to #73223
2020-06-12 08:33:46 -04:00
Ralf Jung
b4bd180e5e fix caller_location intrinsic for Miri 2020-06-12 12:35:37 +02:00
Dylan DPC
77ede48ada
Rollup merge of #73273 - LeSeulArtichaut:patch-1, r=Dylan-DPC
Fix Zulip pings

r? @Dylan-DPC
2020-06-12 12:28:31 +02:00
Dylan DPC
b4cb12fd21
Rollup merge of #73236 - GuillaumeGomez:cleanup-e0666, r=Dylan-DPC
Clean up E0666 explanation

r? @Dylan-DPC
2020-06-12 12:28:29 +02:00
Dylan DPC
6f9d453510
Rollup merge of #73225 - tmandry:issue-73050, r=oli-obk
Allow inference regions when relating consts

As first noticed by @eddyb, `super_relate_consts` doesn't need to check for inference vars since `eval` does it already (and handles lifetimes correctly by erasing them).

Fixes #73050

r? @oli-obk
2020-06-12 12:28:27 +02:00
Dylan DPC
657a41fe73
Rollup merge of #73178 - petrochenkov:explint, r=varkor
expand: More precise locations for expansion-time lints

First commit: a macro expansion doesn't have a `NodeId` associated with it, but it has a parent `DefId` which we can use for linting.
The observable effect is that lints associated with macro expansions can now be `allow`ed at finer-grained level than whole crate.

Second commit: each macro definition has a `NodeId` which we can use for linting, unless that macro definition was decoded from other crate.
2020-06-12 12:28:25 +02:00
Dylan DPC
7c15f30701 Rollup merge of #72906 - lzutao:migrate-numeric-assoc-consts, r=dtolnay
Migrate to numeric associated consts

The deprecation PR is #72885

cc #68490
cc rust-lang/rfcs#2700
2020-06-12 12:28:23 +02:00
Dylan DPC
c06799e4c4
Rollup merge of #72906 - lzutao:migrate-numeric-assoc-consts, r=dtolnay
Migrate to numeric associated consts

The deprecation PR is #72885

cc #68490
cc rust-lang/rfcs#2700
2020-06-12 12:28:23 +02:00
LeSeulArtichaut
cd137ee33f
Fix Zulip pings 2020-06-12 10:40:41 +02:00
Ralf Jung
32b01c78d0 avoid computing cur_span all the time 2020-06-12 09:43:55 +02:00
Ralf Jung
0ac6fd0405 fix const_prop spans and re-bless tests 2020-06-12 09:43:55 +02:00
Ralf Jung
dc6ffaebd5 make miri InterpCx TyCtxtAt a TyCtxt, and separately remember the root span of the evaluation 2020-06-12 09:43:53 +02:00
Ralf Jung
416b010f40 x.py: do not build Miri by default 2020-06-12 09:41:27 +02:00
Ralf Jung
871513d02c make miri memory TyCtxtAt a TyCtxt 2020-06-12 09:37:36 +02:00
bors
59493917be Auto merge of #73266 - ehuss:update-cargo, r=ehuss
Update cargo

2 commits in 1ec223effbbbf9fddd3453cdcae3a96a967608eb..79c769c3d7b4c2cf6a93781575b7f592ef974255
2020-06-09 20:03:14 +0000 to 2020-06-11 22:13:37 +0000
- Fix failure with missing readme. (rust-lang/cargo#8353)
- Some LTO fixes. (rust-lang/cargo#8349)
2020-06-12 04:46:03 +00:00
Eric Huss
826ea22be3 Update cargo 2020-06-11 18:47:27 -07:00
bors
e91bf6c881 Auto merge of #69478 - avr-rust:avr-support-upstream, r=jonas-schievink
Enable AVR as a Tier 3 target upstream

Tracking issue: #44052.

Things intentionally left out of the initial upstream:

* The `target_cpu` flag

I have made the cleanup suggestions by @jplatte and @jplatte in 043550d9db.

Anybody feel free to give the branch a test and see how it fares, or make suggestions on the code patch itself.
2020-06-12 01:28:37 +00:00
Eric Huss
57b54c4928 Use the built cargo for cargotest. 2020-06-11 18:28:13 -07:00
Aaron Hill
4646e2da2d
Run fmt 2020-06-11 20:16:41 -04:00
Aaron Hill
5902b2f6e5
Use fn_span to point to the actual method call 2020-06-11 18:10:13 -04:00
bors
14027f3e78 Auto merge of #73259 - Dylan-DPC:rollup-m6nw1n0, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #73033 (Fix #[thread_local] statics as asm! sym operands)
 - #73036 (std: Enable atomic.fence emission on wasm32)
 - #73163 (Add long error explanation for E0724)
 - #73187 (Remove missed `cfg(bootstrap)`)
 - #73195 (Provide suggestion to convert numeric op LHS rather than unwrapping RHS)
 - #73247 (Add various Zulip notifications for prioritization)
 - #73254 (Add comment about LocalDefId -> DefId)

Failed merges:

r? @ghost
2020-06-11 22:08:01 +00:00
Dylan DPC
85a48d07e3
Rollup merge of #73254 - jyn514:local-def-id-comment, r=lcnr
Add comment about LocalDefId -> DefId

Now there are instructions on how to convert back and forth on both
structs, not just one.

See also https://github.com/rust-lang/rust/pull/73076

r? @lcnr
2020-06-12 00:05:36 +02:00
Dylan DPC
ce99f37ffd
Rollup merge of #73247 - LeSeulArtichaut:patch-1, r=spastorino
Add various Zulip notifications for prioritization

Adapts `triagebot.toml` for rust-lang/triagebot#616 and adds various Zulip notifications for the Prioritization WG workflow.
We should also add indications about the procedure for handling those events, cc @rust-lang/wg-prioritization.

r? @spastorino
This should be merged as soon as possible after rust-lang/triagebot#616 is merged, cc @Mark-Simulacrum
2020-06-12 00:05:34 +02:00
Dylan DPC
7bdf7d09b0
Rollup merge of #73195 - ayazhafiz:i/73145, r=estebank
Provide suggestion to convert numeric op LHS rather than unwrapping RHS

Given a code

```rust
fn foo(x: u8, y: u32) -> bool {
    x > y
}
fn main() {}
```

it could be more helpful to provide a suggestion to do "u32::from(x)"
rather than "y.try_into().unwrap()", since the latter may panic.

We do this by passing the LHS of a binary expression up the stack into
the coercion checker.

Closes #73145
2020-06-12 00:05:33 +02:00
Dylan DPC
838d25b5e3
Rollup merge of #73187 - mati865:bootstrap-cleanup, r=Mark-Simulacrum
Remove missed `cfg(bootstrap)`
2020-06-12 00:05:31 +02:00
Dylan DPC
6baf867882
Rollup merge of #73163 - ayushmishra2005:61137-add-long-error-code-e0724, r=davidtwco
Add long error explanation for E0724

Add long explanation for the E0724 error code
Part of #61137
2020-06-12 00:05:29 +02:00
Dylan DPC
3b41e54799
Rollup merge of #73036 - alexcrichton:update-wasm-fence, r=Mark-Simulacrum
std: Enable atomic.fence emission on wasm32

This commit removes the `#[cfg]` guards in `atomic::fence` on wasm
targets. Since these guards were originally added the upstream wasm
specification for threads gained an `atomic.fence` instruction, so LLVM
no longer panics on these intrinsics.

Although there aren't a ton of tests in-repo for this right now I've
tested locally and all of these fences generate `atomic.fence`
instructions in wasm.

Closes #65687
Closes #72997
2020-06-12 00:05:27 +02:00
Dylan DPC
2e42476267
Rollup merge of #73033 - Amanieu:asm-tls, r=oli-obk
Fix #[thread_local] statics as asm! sym operands

The `asm!` RFC specifies that `#[thread_local]` statics may be used as `sym` operands for inline assembly.

This also fixes a regression in the handling of `#[thread_local]` during monomorphization which caused link-time errors with multiple codegen units, most likely introduced by #71192.

r? @oli-obk
2020-06-12 00:05:19 +02:00
Aaron Hill
2c11c35f89
Explain move errors that occur due to method calls involving self 2020-06-11 17:40:40 -04:00
Aaron Hill
754da8849c
Make fn_arg_names return Ident instead of symbol
Also, implement this query for the local crate, not just foreign crates.
2020-06-11 17:40:39 -04:00
Joshua Nelson
1d8da94439 Add comment about LocalDefId -> DefId
Now there are instructions on how to convert back and forth on both
structs, not just one.
2020-06-11 17:16:38 -04:00
bors
a37c32e2d5 Auto merge of #73246 - Dylan-DPC:rollup-xnm531f, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #72180 (remove extra space from crate-level doctest names)
 - #73012 (Show `SyntaxContext` in formatted `Span` debug output)
 - #73097 (Try_run must only be used if toolstate is populated)
 - #73169 (Handle assembler warnings properly)
 - #73182 (Track span of function in method calls, and use this in #[track_caller])
 - #73207 (Clean up E0648 explanation)
 - #73230 (Suggest including unused asm arguments in a comment to avoid error)

Failed merges:

r? @ghost
2020-06-11 18:11:07 +00:00
Ayush Kumar Mishra
68b4c03dbc Add long error explanation for E0724
Minor refactoring

Minor refactoring

Update src/librustc_error_codes/error_codes/E0724.md

Co-authored-by: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co>

Update src/librustc_error_codes/error_codes/E0724.md

Co-authored-by: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co>

Update src/librustc_error_codes/error_codes/E0724.md

Co-authored-by: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co>

Minor refactoring
2020-06-11 23:16:42 +05:30
LeSeulArtichaut
3a8f6c0943
Add various Zulip notifications for prioritization 2020-06-11 19:21:09 +02:00
Dylan DPC
8650df5dea
Rollup merge of #73230 - Amanieu:asm-unused2, r=petrochenkov
Suggest including unused asm arguments in a comment to avoid error

We require all arguments to an `asm!` to be used in the template string, just like format strings. However in some cases (e.g. `black_box`) it may be desirable to have `asm!` arguments that are not used in the template string.

Currently this is a hard error rather than a lint since `#[allow]` does not work on macros (#63221), so this PR suggests using the unused arguments in an asm comment as a workaround.

r? @petrochenkov
2020-06-11 19:04:20 +02:00
Dylan DPC
6b418b307c
Rollup merge of #73207 - GuillaumeGomez:cleanup-e0648, r=Dylan-DPC
Clean up E0648 explanation

r? @Dylan-DPC
2020-06-11 19:04:18 +02:00
Dylan DPC
84b9145076
Rollup merge of #73182 - Aaron1011:feature/call-fn-span, r=matthewjasper
Track span of function in method calls, and use this in #[track_caller]

Fixes #69977

When we parse a chain of method calls like `foo.a().b().c()`, each
`MethodCallExpr` gets assigned a span that starts at the beginning of
the call chain (`foo`). While this is useful for diagnostics, it means
that `Location::caller` will return the same location for every call
in a call chain.

This PR makes us separately record the span of the function name and
arguments for a method call (e.g. `b()` in `foo.a().b().c()`). This
`Span` is passed through HIR lowering and MIR building to
`TerminatorKind::Call`, where it is used in preference to
`Terminator.source_info.span` when determining `Location::caller`.

This new span is also useful for diagnostics where we want to emphasize
a particular method call - for an example, see
https://github.com/rust-lang/rust/pull/72389#discussion_r436035990
2020-06-11 19:04:16 +02:00
Dylan DPC
b34111591c
Rollup merge of #73169 - Amanieu:asm-warnings, r=petrochenkov
Handle assembler warnings properly

Previously all inline asm diagnostics were treated as errors, but LLVM sometimes emits warnings and notes as well.

Fixes #73160

r? @petrochenkov
2020-06-11 19:04:14 +02:00