Commit Graph

110227 Commits

Author SHA1 Message Date
Dylan DPC
aa0db0bb43
Rollup merge of #71197 - ljedrz:unsafe_unused, r=ecstatic-morse
Don't use the HirId to NodeId map in MIR

Another step towards not having to build a `HirId` to `NodeId` map other than for doc and RLS purposes.

We are currently sorting `unsafe` blocks by `NodeId` in `check_unsafety`; change it to sorting by `Span` instead; this passes the tests, but better ideas are welcome.

In addition, simplify the split between the used and unused `unsafe` blocks for readability and less sorting.

cc https://github.com/rust-lang/rust/issues/50928
2020-04-16 23:34:42 +02:00
Dylan DPC
c68c71e24e
Rollup merge of #70611 - pawanbisht62:doc/61137-add-long-error-code-e0708, r=GuillaumeGomez
Add long error explanation for E0708 #61137

Add long explanation for the E0708 error code
Part of #61137

r? @GuillaumeGomez
2020-04-16 23:34:41 +02:00
bors
7f3df57724 Auto merge of #71201 - Dylan-DPC:rollup-23202uf, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #70566 (Don't bail out before linting in generic contexts.)
 - #71141 (Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa)
 - #71149 (remove an impossible branch from check_consts)
 - #71179 (fix more clippy warnings)
 - #71191 (Clean up E0520 explanation)

Failed merges:

r? @ghost
2020-04-16 18:02:11 +00:00
ljedrz
66575c9962 comment on the sorting of unused unsafe blocks 2020-04-16 20:00:54 +02:00
Dylan DPC
9d28dfee78
Rollup merge of #71191 - GuillaumeGomez:cleanup-e0520, r=Dylan-DPC
Clean up E0520 explanation

r? @Dylan-DPC
2020-04-16 16:34:32 +02:00
Dylan DPC
294f9f30cd
Rollup merge of #71179 - matthiaskrgr:cl6ppy, r=Dylan-DPC
fix more clippy warnings
2020-04-16 16:34:30 +02:00
Dylan DPC
7da24a2287
Rollup merge of #71149 - RalfJung:check-const-call, r=eddyb
remove an impossible branch from check_consts

All function calleess are either `FnPtr` or `FnDef`, so we can remove the alternative from check_consts and just make it ICE instead.
2020-04-16 16:34:29 +02:00
Dylan DPC
e4ec7965ef
Rollup merge of #71141 - Duddino:master, r=estebank
Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa

Fixes #71089
2020-04-16 16:34:27 +02:00
Dylan DPC
33500a2bbf
Rollup merge of #70566 - jumbatm:exceeding-bitshifts-constprop, r=RalfJung
Don't bail out before linting in generic contexts.

Fixes #69021.

cc #70017

r? @RalfJung
2020-04-16 16:34:23 +02:00
bors
7fb5187d04 Auto merge of #70755 - wesleywiser:simplify_locals_2_electric_boogaloo, r=oli-obk
[mir-opt] Run SimplifyLocals to a fixedpoint and handle most rvalues

Follow up to review feedback left on #70595.
2020-04-16 14:26:43 +00:00
ljedrz
672b7682b0 sort unused unsafe blocks by Span instead of NodeId 2020-04-16 14:53:09 +02:00
Wesley Wiser
9666d31bcf Respond to code review feedback
- Remove reads of indirect `Place`s
- Add comments explaining what the algorithm does
2020-04-16 08:34:37 -04:00
ljedrz
d167408cb4 simplify unused unsafe block handling 2020-04-16 14:24:52 +02:00
Guillaume Gomez
6b83d0851f Clean up E0520 explanation 2020-04-16 13:51:02 +02:00
bors
4e4d49d60f Auto merge of #70831 - sfackler:shrink-future-stack, r=matthewjasper
Remove a stack frame from .await calls

The stack frames when `.await`ing one async fn from another currently look like this:

```
  12: foo:🅱️:{{closure}}
             at src/main.rs:2
  13: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /home/sfackler/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/future/mod.rs:66
  14: core::future::poll_with_context
             at /home/sfackler/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/future/mod.rs:84
  15: foo:🅰️:{{closure}}
             at src/main.rs:6
```

Since the move away from using TLS to pass the Context around, it's now easy to remove frame 14 by removing poll_with_context in favor of calling Future::poll directly. This still leaves the `GenFuture` frame, but that seems significantly harder to deal with.

It also improves diagnostics a bit since they no longer talk about the private poll_with_context function.
2020-04-16 09:13:07 +00:00
bors
534a41a329 Auto merge of #71173 - RalfJung:miri, r=RalfJung
bump Miri

Fixes https://github.com/rust-lang/rust/issues/71110
r? @ghost Cc @rust-lang/miri
2020-04-16 05:47:24 +00:00
bors
be895b2bb8 Auto merge of #71159 - topecongiro:rustfmt-1.4.14, r=Dylan-DPC
Bump rustfmt and rls

Close #71076. Close #71077.

r? @Xanewok
2020-04-16 02:10:29 +00:00
Ralf Jung
7fa2907e3f bump Miri 2020-04-16 01:14:59 +02:00
bors
ce1ab355c2 Auto merge of #71180 - Dylan-DPC:rollup-pscpg6q, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #69903 (Do not ICE in the face of invalid enum discriminant)
 - #70354 (Update RELEASES.md for 1.43.0)
 - #70774 (End cleanup on rustdoc-js tools)
 - #70990 (Improve rustdoc source code a bit)
 - #71145 (Add illumos triple)
 - #71166 (Clean up E0518 explanation)

Failed merges:

r? @ghost
2020-04-15 22:58:54 +00:00
Dylan DPC
41dc51ead8
Rollup merge of #71166 - GuillaumeGomez:cleanup-e0518, r=Dylan-DPC
Clean up E0518 explanation

r? @Dylan-DPC
2020-04-16 00:39:27 +02:00
Dylan DPC
905a920313
Rollup merge of #71145 - pfmooney:illumos-triple, r=nagisa
Add illumos triple

This fixes rust-lang/rust#55553 and adds support for `illumos` as a `target_os` on `x86_64`.  In addition to the compile spec and libstd additions, several library dependencies have been bumped in order to permit working builds of cargo and rustup for the new target.

Work originally started by @jasonbking, with subsequent additions by @pfmooney and @jclulow.
2020-04-16 00:39:25 +02:00
Dylan DPC
9433d899a7
Rollup merge of #70990 - GuillaumeGomez:rustdoc-cleanup, r=ollie27
Improve rustdoc source code a bit

Very small clean up. I realized that there were too many nested conditions whereas we could just use `and_then`.

r? @kinnison

cc @ollie27
2020-04-16 00:39:24 +02:00
Dylan DPC
f71b55d9b2
Rollup merge of #70774 - GuillaumeGomez:clean-rustdoc-js-tools, r=ollie27
End cleanup on rustdoc-js tools

Fixes #70689.

It removes a lot of code, which is pretty nice. :3

We now only have one entry point and a small set of options.

r? @ollie27
2020-04-16 00:39:22 +02:00
Dylan DPC
3c6e1936bc
Rollup merge of #70354 - XAMPPRocky:master, r=Mark-Simulacrum
Update RELEASES.md for 1.43.0

### [Rendered](https://github.com/XAMPPRocky/rust/blob/master/RELEASES.md)

r? @Mark-Simulacrum

cc @rust-lang/release
2020-04-16 00:39:17 +02:00
Dylan DPC
03707b5671
Rollup merge of #69903 - estebank:icemation, r=oli-obk
Do not ICE in the face of invalid enum discriminant

Fix #67377.

r? @pnkfelix
2020-04-16 00:39:13 +02:00
Matthias Krüger
3837df2992 don't clone types that are copy (clippy::clone_on_copy) 2020-04-16 00:17:38 +02:00
Matthias Krüger
139c646251 Fix clippy warnings
clippy::{filter_next,single_char_pattern,unit_arg,identity_conversion,nonminimal_bool}
2020-04-15 23:38:48 +02:00
bors
d2230290f7 Auto merge of #71139 - matthiaskrgr:submodule_upd, r=Dylan-DPC
submodules: update clippy from af5940b7 to d236b30a

Changes:
````
rustup https://github.com/rust-lang/rust/pull/70643
Explain panic on `E0463` in integration tests
Temporarily disable rustfmt integration test
Cleanup: Use rustc's is_proc_macro_attr
Cleanup: Use our `sym!` macro more
Fixes #5405: redundant clone false positive with arrays
update lints
verbose_bit_mask: fix bit mask used in docs
Update documentation for new_ret_no_self
````

Fixes #71114
2020-04-15 19:47:56 +00:00
Wesley Wiser
da8f3bbf32 Directly modify the used_locals vec
Fixes perf regression in `optimized_mir` query
2020-04-15 14:58:54 -04:00
Wesley Wiser
de3cf6e8a4 Run SimplifyLocals iteratively until we get to a fixedpoint 2020-04-15 14:58:53 -04:00
Matthias Krüger
fada4b24b2 submodules: update clippy from af5940b7 to 6651c1b9
Changes:
````
Rename dummy_hir_id -> parent_hir_id
rustup https://github.com/rust-lang/rust/pull/71116
Change default many single char names threshold
Better precedence case management + more tests
Use only check_expr with parent expr and precedence
Check for Deref trait impl + add fixed version
Report using stmts and expr + tests
Global rework + fix imports
Working basic dereference clip
Add test for zero single char names
Make the single char threshold strict inequality
large_enum_variant: Report sizes of variants
Refactor: Use rustc's `match_def_path`
deps: bump compiletest-rs from 0.4 to 0.5
rustup https://github.com/rust-lang/rust/pull/70643
Explain panic on `E0463` in integration tests
Temporarily disable rustfmt integration test
result_map_unit_fn: Fix incorrect UI tests
Cleanup: Use rustc's is_proc_macro_attr
Cleanup: Use our `sym!` macro more
Fixes #5405: redundant clone false positive with arrays
Disallow bit-shifting in `integer_arithmetic` lint
update lints
cargo dev fmt
Make use of Option/Result diagnostic items
Make use of some existing diagnostic items
Say that diagnostic items are preferred over paths
verbose_bit_mask: fix bit mask used in docs
Update documentation for new_ret_no_self
Update doc generation script
Add lint on large const arrays
Make the epsilon note spanless
Split check_fn function
Indicate when arrays are compared in error message
Make epsilon note spanless when comparing arrays
Add float cmp const tests for arrays
Add float cmp tests for arrays
Handle constant arrays with single value
Don't show comparison suggestion for arrays
Allow for const arrays of zeros
Handle evaluating constant index expression
Add handling of float arrays to miri_to_const
Update stderr of float_cmp test
Update field names in is_float
Add tests for float in array comparison
Add lint when comparing floats in an array
````

Fixes #71114
2020-04-15 20:56:28 +02:00
Wesley Wiser
7c0802b341 Remove other Rvalues 2020-04-15 14:53:41 -04:00
Wesley Wiser
0e0a71a393 Add test case 2020-04-15 14:34:23 -04:00
Esteban Küber
f47c4ffdfa Do not ICE in the face of invalid enum discriminant 2020-04-15 10:22:51 -07:00
bors
835428c35d Auto merge of #71172 - pietroalbini:update-tool-maintainers, r=pietroalbini
Update tool maintainers

Centril is taking a break from the project.
2020-04-15 16:23:48 +00:00
Pietro Albini
6b455281c6
update tool maintainers 2020-04-15 18:19:02 +02:00
Guillaume Gomez
0fcdefb559 Clean up E0518 explanation 2020-04-15 14:20:40 +02:00
Duddino
fbc4168d80 Provide better compiler output when using ? on Option in fn returning Result and vice-versa 2020-04-15 10:58:12 +02:00
bors
df768c5c8f Auto merge of #71162 - Centril:rollup-jzg6ykc, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #70891 (unit rvalue, use constant `()` instead of tuple)
 - #71030 (rustc_target: Refactor target specifications related to Windows and UEFI)
 - #71100 (Miri: expand frame hooks)
 - #71116 (Entirely remove `DUMMY_HIR_ID`)

Failed merges:

r? @ghost
2020-04-15 07:11:22 +00:00
Mazdak Farrokhzad
7341cad3f3
Rollup merge of #71116 - marmeladema:dummy-hir-id-removal, r=eddyb
Entirely remove `DUMMY_HIR_ID`

Some helpers functions have been introduced to deal with (buggy) cases
where either a `NodeId` or a `DefId` do not have a corresponding `HirId`.
Those cases are tracked in issue #71104.
2020-04-15 09:10:05 +02:00
Mazdak Farrokhzad
8da59521e1
Rollup merge of #71100 - RalfJung:miri-frame-hook, r=oli-obk
Miri: expand frame hooks

This is needed to make https://github.com/rust-lang/miri/pull/1330 work.

r? @oli-obk @eddyb
2020-04-15 09:10:03 +02:00
Mazdak Farrokhzad
ffafd15280
Rollup merge of #71030 - petrochenkov:linkorder2, r=nagisa
rustc_target: Refactor target specifications related to Windows and UEFI

- LLD support is improved.
- Code is cleaned up.
- Target specs are organized in a more hierarchical way.
- Possible issues in UWP and UEFI platforms are identified (see FIXMEs).

The code is better read per-commit.
2020-04-15 09:10:02 +02:00
Mazdak Farrokhzad
629e51b761
Rollup merge of #70891 - lcnr:replace-rvalue_aggregate, r=eddyb
unit rvalue, use constant `()` instead of tuple

fixes #70886

r? @eddyb
2020-04-15 09:10:00 +02:00
Ralf Jung
49b745f19c remove rustfmt-induced spurious trailing comma 2020-04-15 08:45:38 +02:00
Ralf Jung
c0247c85d6 remove an impossible branch from check_consts 2020-04-15 08:45:37 +02:00
bors
351eefe93a Auto merge of #71106 - jonas-schievink:remove-call-guard-pass, r=ecstatic-morse,RalfJung
Don't always run `add_call_guards` pass

It is only needed when `add_retag` runs.

(the pass is run again to split critical edges before codegen, that one is required)
2020-04-15 03:40:37 +00:00
topecongiro
84c4514849
Bump rustfmt and rls 2020-04-15 11:09:29 +09:00
Patrick Mooney
dda5c97675 Use fcntl() to set nonblock for solarish sockets
The ioctl(FIONBIO) method of setting a file descriptor to be
non-blocking does not notify the underlying resource in the same way
that fcntl(F_SETFL, O_NONBLOCK) does on illumos and Solaris.
2020-04-15 01:10:22 +00:00
bors
76cbf0053f Auto merge of #71151 - Dylan-DPC:rollup-6rt4h7b, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #70657 (Allow `try`-blocks in places where an open delim is expected)
 - #70947 (tighten CTFE safety net for accesses to globals)
 - #70949 (simplify `vec!` macro)
 - #71002 (fix target & runtool args order)
 - #71082 (ptr: introduce len() method on raw slices)
 - #71128 (Remove unused single_step flag)
 - #71133 (Tighten time complexity on the doc of sort_by_key)
 - #71135 (Update books)

Failed merges:

r? @ghost
2020-04-15 00:39:22 +00:00
jumbatm
ed73023a50 Update stderrs after rebase. 2020-04-15 09:35:46 +10:00