Commit Graph

121995 Commits

Author SHA1 Message Date
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
Guillaume Gomez
724dfba460 Clean up some weird command strings 2020-06-13 15:05:37 +02:00
Tomasz Miąsko
d40e624a36 compiletest: Add directives to detect sanitizer support
Add needs-sanitizer-{address,leak,memory,thread} directive indicating
that test requires target with support for specific sanitizer.

This is an addition to the existing needs-sanitizer-support directive
indicating that test requires a sanitizer runtime library.
2020-06-13 14:24:30 +02:00
Amanieu d'Antras
01e29c778c Don't run test on emscripten which doesn't have threads 2020-06-13 13:24:19 +01:00
Mateusz Mikuła
5a841b922c Add/update comments about MinGW late_link_args 2020-06-13 14:19:24 +02:00
Ralf Jung
c6512fd4e9 run const_eval_raw with root_span 2020-06-13 13:55:01 +02:00
Ralf Jung
60496504ac avoid computing precise span for const_eval query 2020-06-13 13:47:37 +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
David Tolnay
c45231ca55
Revert heterogeneous SocketAddr PartialEq impls
These lead to inference regressions (mostly in tests) in code that looks
like:

    let socket = std::net::SocketAddrV4::new(std::net::Ipv4Addr::new(127, 0, 0, 1), 8080);
    assert_eq!(socket, "127.0.0.1:8080".parse().unwrap());

That compiles as of stable 1.44.0 but fails in beta with:

    error[E0284]: type annotations needed
     --> src/main.rs:3:41
      |
    3 |     assert_eq!(socket, "127.0.0.1:8080".parse().unwrap());
      |                                         ^^^^^ cannot infer type for type parameter `F` declared on the associated function `parse`
      |
      = note: cannot satisfy `<_ as std::str::FromStr>::Err == _`
    help: consider specifying the type argument in the method call
      |
    3 |     assert_eq!(socket, "127.0.0.1:8080".parse::<F>().unwrap());
      |
2020-06-12 22:13:55 -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
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
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
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