Commit Graph

121680 Commits

Author SHA1 Message Date
Gary Guo
8121d2e057 Fix up autoderef when performing mutable auto borrow 2020-06-15 01:09:26 +01:00
Gary Guo
fb0793c610 Add some comments to librustc_typeck/check/callee.rs 2020-06-15 00:57:21 +01:00
Gary Guo
5393a2995b Move convert_place_derefs_to_mutable out from check/method/confirm.rs
This can live inside FnCtxt rather than ConfirmContext, and would be
useful for other operations as well.
2020-06-15 00:56:21 +01:00
bors
06e47688bf Auto merge of #73316 - Dylan-DPC:rollup-zgouwou, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #72932 (Clarify the behaviour of Pattern when used with methods like str::contains)
 - #73066 (Querify whether a type has structural equality (Take 2))
 - #73194 (Prefer the associated constants for pattern matching error)
 - #73241 (Add/update comments about MinGW late_link_args)
 - #73267 (Use the built cargo for cargotest.)
 - #73290 (Fix links when pinging notification groups)
 - #73302 (Adjusted some doctests in libcore to use `should_panic`.)
 - #73308 (pretty/asm.rs should only be tested for x86_64 and not AArch64)

Failed merges:

r? @ghost
2020-06-13 15:50:56 +00:00
Dylan DPC
8d97ccf954
Rollup merge of #73308 - yerke:fix-pretty-asm-rs-test-for-aarch64, r=Amanieu
pretty/asm.rs should only be tested for x86_64 and not AArch64

pretty/asm.rs should only be tested for x86_64 and not AArch64
closes #73134
r?  @Amanieu
2020-06-13 16:47:56 +02:00
Dylan DPC
a879f9cdf6
Rollup merge of #73302 - JakobDegen:should-panic-documentation, r=Mark-Simulacrum
Adjusted some doctests in libcore to use `should_panic`.

Fixes #73196 .

I grepped libstd and libcore for all the instances of this pattern that I could find, but its possible that I missed some of course. If anyone knows of any more, please let me know and I will add them to the PR.
2020-06-13 16:47:54 +02:00
Dylan DPC
0bbc651869
Rollup merge of #73290 - LeSeulArtichaut:patch-1, r=Dylan-DPC
Fix links when pinging notification groups

I think a blank line is necessary for the link to be applied.
Not sure who to assign, r? @Dylan-DPC
2020-06-13 16:47:53 +02:00
Dylan DPC
6a42f7ded8
Rollup merge of #73267 - ehuss:cargotest-this-cargo, r=Mark-Simulacrum
Use the built cargo for cargotest.

cargotest was using the beta (bootstrap) cargo. This changes it so that it will use the locally built cargo. This is intended to provide a sort of smoke test to ensure Cargo is functional. This *shouldn't* have any real impact on the CI build time.  The cargotest job also happens to run cargo's testsuite, so it should already be building cargo.

Note: This will fail until #73266 is merged.
2020-06-13 16:47:51 +02:00
Dylan DPC
61a59a57c9
Rollup merge of #73241 - mati865:mingw-libs-order-comment, r=petrochenkov
Add/update comments about MinGW late_link_args
2020-06-13 16:47:49 +02:00
Dylan DPC
f738423e6b
Rollup merge of #73194 - lzutao:INT-patterns, r=dtolnay
Prefer the associated constants for pattern matching error

Resolved this comment: https://github.com/rust-lang/rust/issues/68490#issuecomment-641614383
2020-06-13 16:47:47 +02:00
Dylan DPC
6ad8cbdc7d
Rollup merge of #73066 - ecstatic-morse:query-structural-eq2, r=pnkfelix
Querify whether a type has structural equality (Take 2)

Alternative to #72177.

Unlike in #72177, this helper method works for all types, falling back to a query for `TyKind::Adt`s that determines whether the `{Partial,}StructuralEq` traits are implemented.

This is my preferred interface for this method. I think this is better than just documenting that the helper only works for ADTs. If others disagree, we can just merge #72177 with the fixes applied. This has already taken far too long.
2020-06-13 16:47:45 +02:00
Dylan DPC
2cc267245d
Rollup merge of #72932 - poliorcetics:pattern-contains-behaviour, r=hanna-kruppe
Clarify the behaviour of Pattern when used with methods like str::contains

Fixes #45507.

I used the previous work by @Emerentius (thanks !), added a paragraph and checked the links (they work for me but I'm not against someone else checking them too).
2020-06-13 16:47:40 +02:00
Mateusz Mikuła
5a841b922c Add/update comments about MinGW late_link_args 2020-06-13 14:19:24 +02:00
Yerkebulan Tulibergenov
249a46f56c pretty/asm.rs should only be tested for x86_64 and not AArch64 2020-06-13 00:41:39 -07:00
Jake Degen
3ab4b380aa Adjusted some doctests in libcore to use should_panic.
Previously, some doctests were spawning new threads and joining them to
indicate that a particular call should panic; this hurt readability, so
the tests have been adjusted to simply call the method and use the
`should_panic` marker.
2020-06-13 00:12:07 -04: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
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
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
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
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
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
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