Commit Graph

110307 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
5cd1599fc9
Rollup merge of #70932 - mark-i-m:de-abuse-err-2, r=Centril
De-abuse TyKind::Error in pattern type checking

r? @eddyb

cc https://github.com/rust-lang/rust/issues/70866

In particular, I would appreciate extra scrutiny over the soundness of these changes.

Also, this will go a bit slowly because I'm going to use my other PR (#70551) to check if I missed anything.
2020-04-10 12:48:47 +02:00
Mazdak Farrokhzad
74e93bb8e6
Rollup merge of #70913 - eddyb:rc-arc-diagnostic-items, r=matthewjasper
Replace "rc"/"arc" lang items with Rc/Arc diagnostic items.

`Rc`/`Arc` should have no special semantics, so it seems appropriate for them to not be lang items.

r? @matthewjasper
2020-04-10 12:48:45 +02:00
Mazdak Farrokhzad
81a360fe9a
Rollup merge of #70843 - ssomers:btree_drain_filter_epilogue, r=Amanieu
Remove the Ord bound that was plaguing drain_filter

Now that  #70795 made it superfluous. Also removes superfluous lifetime specifiers (at least I think they are).
2020-04-10 12:48:44 +02:00
Mazdak Farrokhzad
dff5a113c2
Rollup merge of #70784 - estebank:suggest-type-fundamental-method, r=matthewjasper
Consider methods on fundamental `impl` when method is not found on numeric type

Fix #47759.
2020-04-10 12:48:42 +02:00
Donough Liu
68b38c3bd9 Normalize function signature in function casting check 2020-04-10 18:14:55 +08:00
bors
167510f776 Auto merge of #70619 - etherealist:musl_lld, r=Mark-Simulacrum
Enable rust-lld on dist-x86_64-musl

Add rust-lld to rustup llvm-tools-preview on nightly for musl

I am using a musl distro on my workstation, with `RUSTFLAGS="-C target-feature=-crt-static"` this works fine. I know that `x86_64-unknown-linux-musl` was originally only meant as a target and not as a host. But most problems have been fixed, and I have fewer problems with `unknown` (rustup) than when I am using `x86_64-alpine-linux-musl` (rust installed by the distro). The only thing I am missing is rust-lld in llvm-tools-preview on nightly.

I needed rust-lld for a wasm tutorial. I built rust-lld and tested it with that tutorial, and it worked well. I asked [here](https://users.rust-lang.org/t/enable-rust-lld-on-x86-64-unknown-linux-musl/39851) where to request to enable lld and ended up doing this PR.

I compared llvm-tools-preview `nightly-x86_64-unknown-linux-musl` and `nightly-x86_64-unknown-linux-gnu`: only rust-lld is missing in musl.

I tested the change using:

```bash
./src/ci/docker/run.sh dist-x86_64-musl
```

And I checked that the resulting rust-lld binary runs.
2020-04-10 09:51:27 +00:00
Ralf Jung
a1f7e9a725 assert that only statics can possibly be mutable 2020-04-10 11:28:51 +02:00
Stein Somers
4ade06bab8 Rearrange BTreeMap::into_iter to match range_mut. 2020-04-10 10:58:17 +02:00
Ralf Jung
b973cb70bf compiletest: let config flags overwrite -A unused 2020-04-10 10:30:04 +02:00
bors
96d77f0e5f Auto merge of #70447 - ecstatic-morse:storage-live-always, r=tmandry
Add utility to find locals that don't use `StorageLive` annotations and use it for `MaybeStorageLive`

Addresses https://github.com/rust-lang/rust/pull/70004#issuecomment-599271717 (cc @RalfJung).

The only dataflow analysis that is incorrect in this case is `MaybeStorageLive`. `transform/generator.rs` implemented custom handling for this class of locals, but other consumers of this analysis (there's one in [clippy](513b46793e/clippy_lints/src/redundant_clone.rs (L402))) would be incorrect.

r? @tmandry
2020-04-10 06:14:47 +00:00
Bastian Kauschke
e39d958b8e words 2020-04-10 07:04:11 +02:00
Rakshith Ravi
51cd29cf6c Added comments.
Removed unnecessarry empty impls.
Moved code to organise it better
2020-04-10 10:32:23 +05:30
Dylan MacKenzie
0fc0f34ae4 Use tri-color search for unconditional recursion lint 2020-04-09 21:07:48 -07:00
sapir
32216383fa Replace run-rustfix for issue 67691 test with a FIXME 2020-04-10 05:15:52 +03:00
Eric Huss
d6d0799abf Fix JSON file_name documentation for macros. 2020-04-09 18:54:53 -07:00
sapir
a8e3d0b71e Replace non-shorthand variables with _, not _var 2020-04-10 03:55:52 +03:00
sapir
e22e443208 Try to fix warning for unused variables in or patterns, issue #67691 2020-04-10 03:54:45 +03:00
sapir
0c156af20d Add tests for issue #67691 2020-04-10 03:52:13 +03:00
Esteban Küber
a2a65a88fc Consider methods on fundamental impl when method is not found on numeric type
Fix #47759.
2020-04-09 17:46:26 -07:00
bors
0c835b0cca Auto merge of #70909 - marmeladema:issue70853/librustc_hir-local-def-id, r=eddyb
librustc_hir: return LocalDefId instead of DefId in local_def_id

Its a first try to remove a few calls to `expect_local` and use `LocalDefId` instead of `DefId` where possible for #70853

This adds some calls to `.to_def_id()` to get a `DefId` back when needed. I don't know if I should push `LocalDefId` even further and change, for example, `Res::Def` to accept a `LocalDefId` instead of a `DefId` as second argument.

cc @ecstatic-morse
2020-04-09 23:22:23 +00:00
Dylan MacKenzie
eb74096a32 Avoid calling fn_sig query during is_const_fn_raw 2020-04-09 14:56:57 -07:00
Dylan MacKenzie
e8b270a4b6 Add regression test for #69615 2020-04-09 14:56:28 -07:00
Dylan MacKenzie
d8047f83a9 Use is_const_fn_raw query for HIR const-checking 2020-04-09 14:56:28 -07:00
Ralf Jung
1761a65eba mark a temporary hack as such 2020-04-09 23:02:13 +02:00
Dylan MacKenzie
209087b8fa Use Visitor for AlwaysLiveLocals 2020-04-09 13:04:03 -07:00
bors
94d346360d Auto merge of #70960 - Centril:rollup-9vmokvw, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #70897 (bump Miri)
 - #70900 (Update cargo)
 - #70902 (Update Clippy)
 - #70939 (Add two const generics regression tests)
 - #70958 (Disable try_reserve tests on Android)

Failed merges:

r? @ghost
2020-04-09 20:03:54 +00:00
Dylan MacKenzie
715486067e Explain why we remove self from storage live locals 2020-04-09 13:01:59 -07:00
Dylan MacKenzie
02c65e1e11 Use new utility in transform/generator.rs 2020-04-09 12:48:31 -07:00
Dylan MacKenzie
335fd6b456 Use new utility in eval_context 2020-04-09 12:48:31 -07:00
Dylan MacKenzie
fcd1f5bc0a Make MaybeStorageLive correct for all kinds of MIR bodies
Before, it ignored the first argument and marked all variables without
`Storage*` annotations as dead.
2020-04-09 12:45:46 -07:00
Dylan MacKenzie
444ad6255b Add utility to find locals that don't use Storage* annotations 2020-04-09 12:45:45 -07:00
Stein Somers
de39a4f621 Respect the comment: no root unless the borrow type is Mut 2020-04-09 21:37:30 +02:00
Stein Somers
607315b2c3 Kill comment left behind by a last minute change in #70795 2020-04-09 20:16:30 +02:00
Mazdak Farrokhzad
2c3147f018
Rollup merge of #70958 - Amanieu:android_try_reserve, r=Mark-Simulacrum
Disable try_reserve tests on Android

Calling `realloc` with large sizes seems to be broken on older Android versions that use dlmalloc as the default allocator. This is not an issue for modern Android versions that use jemalloc.

Fixes #55861
2020-04-09 18:17:22 +02:00
Mazdak Farrokhzad
7944f39b5f
Rollup merge of #70939 - varkor:const-generics-regression-tests, r=Centril
Add two const generics regression tests

Closes https://github.com/rust-lang/rust/issues/66596.
Closes https://github.com/rust-lang/rust/issues/61522.
2020-04-09 18:17:20 +02:00
Mazdak Farrokhzad
cb68d6e389
Rollup merge of #70902 - flip1995:clippyup, r=eddyb
Update Clippy

Closes #70875
2020-04-09 18:17:19 +02:00
Mazdak Farrokhzad
15a7ad2804
Rollup merge of #70900 - ehuss:update-cargo, r=ehuss
Update cargo

4 commits in 6e07d2dfb7fc87b1c9489de41da4dafa239daf03..390e8f245ef2cd7ac698b8a76abf029f9abcab0d
2020-03-31 03:22:39 +0000 to 2020-04-07 17:46:45 +0000
- Compatibility for rust-lang/rust#69926 (rust-lang/cargo#8080)
- Add note about converting triple case in environment variables (rust-lang/cargo#8079)
- Add support for `-Cembed-bitcode=no` (rust-lang/cargo#8066)
- Add triagebot configuration (rust-lang/cargo#8059)
2020-04-09 18:17:17 +02:00
Mazdak Farrokhzad
eecfd195cb
Rollup merge of #70897 - RalfJung:miri, r=RalfJung
bump Miri

r? @ghost Cc @rust-lang/miri

Fixes https://github.com/rust-lang/rust/issues/70894
2020-04-09 18:17:15 +02:00
Amanieu d'Antras
7060a9e683 Disable try_reserve tests on Android 2020-04-09 15:55:12 +01:00
Oliver Scherer
8a03147f22 Normalize MIR locals' types for generator layout computation. 2020-04-09 16:48:36 +02:00
mark
f2e4709f22 improve comments 2020-04-09 09:31:52 -05:00
Guillaume Gomez
44daa4521a Clean up E0511 explanation 2020-04-09 13:48:11 +02:00
varkor
0f0252260c Add regression test for #61522 2020-04-09 11:53:28 +01:00
varkor
61cc8925b2 Add regression test for #66596 2020-04-09 11:52:52 +01:00
bors
93dc97a853 Auto merge of #70943 - Centril:rollup-eowm2h3, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #67705 (Use unrolled loop for searching NULL in [u16] on Windows)
 - #70367 (save/restore `pessimistic_yield` when entering bodies)
 - #70822 (Don't lint for self-recursion when the function can diverge)
 - #70868 (rustc_codegen_ssa: Refactor construction of linker arguments)
 - #70896 (Implement Chain with Option fuses)
 - #70916 (Support `#[track_caller]` on functions in `extern "Rust" { ... }`)
 - #70918 (rustc_session: forbid lints override regardless of position)

Failed merges:

r? @ghost
2020-04-09 09:57:17 +00:00
Ralf Jung
d69c668111 tighten CTFE safety net for accesses to globals 2020-04-09 11:54:45 +02:00
Waffle
3ae2d21c12 simplify vec! macro
Simplify `vec!` macro by replacing 2 following branches:
- `($($x:expr),*) => (...)`
- `($($x:expr,)*) => (...)`
with one:
- `($($x:expr),* $(,)?) => (...)`
2020-04-09 11:03:57 +03:00
mark
e1c838d737 de-abuse TyKind::Error: ice on missing slice type 2020-04-08 23:41:54 -05:00
mark
f9a691faac de-abuse TyKind::Error: handle empty slices in array patterns 2020-04-08 22:54:36 -05:00
Mazdak Farrokhzad
09052a6d35
Rollup merge of #70918 - tobithiel:fix_forbid_override, r=davidtwco
rustc_session: forbid lints override regardless of position

Addresses the regression reported in #70819 for command line arguments, but does not address the source code flag regression.
2020-04-09 05:29:47 +02:00