Commit Graph

121847 Commits

Author SHA1 Message Date
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
Dylan DPC 8d620999de
Rollup merge of #73097 - Mark-Simulacrum:clippy-fail, r=oli-obk
Try_run must only be used if toolstate is populated

Clippy's tests were failing the build, but that failure was ignored in favor of checking toolstate. This is the correct behavior for toolstate-checked tools, but Clippy no longer updates its toolstate status as it should always build.

The previous PR of this kind didn't catch this as I expected x.py failures to always lead to a non-successful build in CI, but that's not the case specifically for tool testing.
2020-06-11 19:04:12 +02:00
Dylan DPC 80fce3693d
Rollup merge of #73012 - Aaron1011:feature/span-debug-ctxt, r=matthewjasper
Show `SyntaxContext` in formatted `Span` debug output

This is only really useful in debug messages, so I've switched to
calling `span_to_string` in any place that causes a `Span` to end up in
user-visible output.
2020-06-11 19:04:09 +02:00
Dylan DPC f23f6acb56
Rollup merge of #72180 - euclio:rustdoc-test-extra-space, r=Dylan-DPC
remove extra space from crate-level doctest names

Before:

```
running 2 tests
test src/test/rustdoc-ui/doctest-output.rs - foo::bar (line 11) ... ok
test src/test/rustdoc-ui/doctest-output.rs -  (line 5) ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
```

After:

```
running 2 tests
test src/test/rustdoc-ui/doctest-output.rs - foo::bar (line 11) ... ok
test src/test/rustdoc-ui/doctest-output.rs - (line 5) ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
```
2020-06-11 19:04:08 +02:00
Matthew Jasper 8b10d42ebe Fix NLL test 2020-06-11 17:08:23 +01:00
Matthew Jasper f975eceb62 Document some opaque types code 2020-06-11 17:08:23 +01:00
Matthew Jasper 1e0832faaa Allow all impl trait types to capture bound lifetimes 2020-06-11 17:08:23 +01:00
Matthew Jasper ee0d3c7f90 Rename `TyKind::Def` to `OpaqueDef` 2020-06-11 17:08:23 +01:00
Ayaz Hafiz 0c02f8aea9
fixup! Provide suggestion to convert numeric op LHS rather than unwrapping RHS 2020-06-11 09:04:27 -07:00
Ayaz Hafiz e243f62317
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-11 09:04:24 -07:00
Matthew Jasper 6c04d8672d Remove ImplItemKind::OpaqueTy from clippy 2020-06-11 16:24:01 +01:00
Matthew Jasper 09546692ff Add more tests for type alias impl Trait 2020-06-11 16:24:01 +01:00
Matthew Jasper f97070db90 Forbid lifetime elision in let position impl Trait
This is consistent with types.
2020-06-11 16:24:01 +01:00
Matthew Jasper 4201fd273e Remove associated opaque types
They're unused now.
2020-06-11 16:24:01 +01:00
Matthew Jasper 4e49e67c44 Stop special casing top level TAIT 2020-06-11 16:24:01 +01:00
Matthew Jasper d77e86142f Make pretty printing `TyKind::Def` do something 2020-06-11 16:24:01 +01:00
Matthew Jasper b87e8eae29 Check associated opaque types in check_opaque_types 2020-06-11 16:24:01 +01:00
Mateusz Mikuła 91b6f1585d Use preinstalled MSYS2 2020-06-11 16:57:26 +02:00
Alexis Bourget 6b955268d7 Fix the link in the TryFrom impl 2020-06-11 16:55:03 +02:00
Guillaume Gomez 9da3a7aece Clean up E0666 explanation 2020-06-11 13:34:04 +02:00
bors 50c0192c64 Auto merge of #73235 - Dylan-DPC:rollup-zp8oxhg, r=Dylan-DPC
Rollup of 11 pull requests

Successful merges:

 - #72380 (Fix `is_const_context`, update `check_for_cast`)
 - #72941 (Ensure stack when building MIR for matches)
 - #72976 (Clean up E0642 explanation)
 - #73080 (doc/rustdoc: Fix incorrect external_doc feature flag)
 - #73155 (save_analysis: better handle paths and functions signature)
 - #73164 (Add new E0762 error code)
 - #73172 (Fix more clippy warnings)
 - #73181 (Automatically prioritize unsoundness issues)
 - #73183 (Support proc macros in intra doc link resolution)
 - #73208 (Fix doctest template)
 - #73219 (x.py: with --json-output, forward cargo's JSON)

Failed merges:

r? @ghost
2020-06-11 11:17:37 +00:00
Dylan DPC ba0a8d2ee7
Rollup merge of #73219 - RalfJung:cargo-json, r=Mark-Simulacrum
x.py: with --json-output, forward cargo's JSON

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

r? @Mark-Simulacrum
2020-06-11 13:16:12 +02:00
Dylan DPC 822bb9a1cb
Rollup merge of #73208 - qm3ster:patch-1, r=Amanieu
Fix doctest template

`saturating_add` example was not parameterized, but passed because the `u8` would saturate successfully
2020-06-11 13:16:10 +02:00
Dylan DPC d9cf7a1784
Rollup merge of #73183 - Manishearth:intra-doc-macro, r=GuillaumeGomez
Support proc macros in intra doc link resolution

The feature was written pre-proc macro resolution, so it only supported the wacky MBE resolution rules. This adds support for proc macros as well.

cc @GuillaumeGomez

Fixes #73173
2020-06-11 13:16:08 +02:00
Dylan DPC 6cc757e698
Rollup merge of #73181 - LeSeulArtichaut:patch-1, r=spastorino
Automatically prioritize unsoundness issues

r? @spastorino cc @Mark-Simulacrum @rust-lang/wg-prioritization
2020-06-11 13:16:06 +02:00