]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoRollup merge of #71164 - RalfJung:uninit-not-undef, r=oli-obk
Dylan DPC [Fri, 17 Apr 2020 01:05:15 +0000 (03:05 +0200)]
Rollup merge of #71164 - RalfJung:uninit-not-undef, r=oli-obk

reword Miri validity errors: undefined -> uninitialized

I don't think we say "undefined value" or anything like that anywhere in the docs or so, but we do use the term "uninitialized memory", so I think we should do the same here.

Longer-term, I think we should also internally rename "undef" to "uninit".

r? @oli-obk

4 years agoRollup merge of #70910 - rakshith-ravi:master, r=cuviper
Dylan DPC [Fri, 17 Apr 2020 01:05:13 +0000 (03:05 +0200)]
Rollup merge of #70910 - rakshith-ravi:master, r=cuviper

Hides default fns inside Fuse impl to avoid exposing it to any crate

Fixes #70796

@cuviper I've added some default, private traits to do the job for us. If required, I can expose them to a specific visibility if you want to call these functions for #70332

r? @cuviper

4 years agoRollup merge of #70578 - PankajChaudhary5:master, r=GuillaumeGomez
Dylan DPC [Fri, 17 Apr 2020 01:05:11 +0000 (03:05 +0200)]
Rollup merge of #70578 - PankajChaudhary5:master, r=GuillaumeGomez

Add long error explanation for E0657

Added proper error explanation for issue E0657 in the Rust compiler.

Part of #61137

r? @GuillaumeGomez

4 years agoAuto merge of #71223 - Dylan-DPC:rollup-z5itu39, r=Dylan-DPC
bors [Thu, 16 Apr 2020 21:36:23 +0000 (21:36 +0000)]
Auto merge of #71223 - Dylan-DPC:rollup-z5itu39, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #70611 (Add long error explanation for E0708 #61137)
 - #71197 (Don't use the HirId to NodeId map in MIR)
 - #71211 (Update cargo)
 - #71219 (Minor fixes to doc comments of 'VecDeque')
 - #71221 (Dogfood or_patterns in rustdoc)

Failed merges:

r? @ghost

4 years agoRollup merge of #71221 - cuviper:rustdoc_or_patterns, r=Mark-Simulacrum
Dylan DPC [Thu, 16 Apr 2020 21:34:46 +0000 (23:34 +0200)]
Rollup merge of #71221 - cuviper:rustdoc_or_patterns, r=Mark-Simulacrum

Dogfood or_patterns in rustdoc

We can start using `or_patterns` in `rustdoc` as a step toward stabilization.

cc #54883 @Centril

4 years agoRollup merge of #71219 - JOE1994:patch-4, r=Mark-Simulacrum
Dylan DPC [Thu, 16 Apr 2020 21:34:45 +0000 (23:34 +0200)]
Rollup merge of #71219 - JOE1994:patch-4, r=Mark-Simulacrum

Minor fixes to doc comments of 'VecDeque'

1. Changed descriptions of `fn get` & `fn get_mut`.
  Since both of these functions are returning references, and not the owned value, I thought the doc comments could be fixed to be consistent with doc comments of `fn front` & `fn front_mut`.

2. Other changes are minor fixes or additions for clarification.

Thank you for taking a look :)

4 years agoRollup merge of #71211 - ehuss:update-cargo, r=ehuss
Dylan DPC [Thu, 16 Apr 2020 21:34:43 +0000 (23:34 +0200)]
Rollup merge of #71211 - ehuss:update-cargo, r=ehuss

Update cargo

3 commits in 74e3a7d5b756d7c0e94399fc29fcd154e792c22a..ebda5065ee8a1e46801380abcbac21a25bc7e755
2020-04-13 20:41:52 +0000 to 2020-04-16 14:28:43 +0000
- Don't use debug display for error object. (rust-lang/cargo#8119)
- Add backwards-compatibility for old cargo-tree flags. (rust-lang/cargo#8115)
- Try to avoid panics on buggy (?) clocks (rust-lang/cargo#8114)

4 years agoRollup merge of #71197 - ljedrz:unsafe_unused, r=ecstatic-morse
Dylan DPC [Thu, 16 Apr 2020 21:34:42 +0000 (23:34 +0200)]
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

4 years agoRollup merge of #70611 - pawanbisht62:doc/61137-add-long-error-code-e0708, r=Guillaum...
Dylan DPC [Thu, 16 Apr 2020 21:34:41 +0000 (23:34 +0200)]
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

4 years agoDogfood or_patterns in rustdoc
Josh Stone [Thu, 16 Apr 2020 20:58:47 +0000 (13:58 -0700)]
Dogfood or_patterns in rustdoc

4 years agoMinor fixes to doc comments of 'VecDequeue'
Youngsuk Kim [Thu, 16 Apr 2020 20:26:14 +0000 (16:26 -0400)]
Minor fixes to doc comments of 'VecDequeue'

1. Changed descriptions of `fn get` & `fn get_mut`.
  Since both of these functions are returning references, and not the owned value, I thought the doc comments could be fixed to be consistent with doc comments of `fn front` & `fn front_mut`.

2. Other changes are minor fixes or additions for clarification.

Thank you for taking a look :)

4 years agoAuto merge of #71201 - Dylan-DPC:rollup-23202uf, r=Dylan-DPC
bors [Thu, 16 Apr 2020 18:02:11 +0000 (18:02 +0000)]
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

4 years agocomment on the sorting of unused unsafe blocks
ljedrz [Thu, 16 Apr 2020 18:00:54 +0000 (20:00 +0200)]
comment on the sorting of unused unsafe blocks

4 years agoUpdate cargo
Eric Huss [Thu, 16 Apr 2020 17:16:11 +0000 (10:16 -0700)]
Update cargo

4 years agoRollup merge of #71191 - GuillaumeGomez:cleanup-e0520, r=Dylan-DPC
Dylan DPC [Thu, 16 Apr 2020 14:34:32 +0000 (16:34 +0200)]
Rollup merge of #71191 - GuillaumeGomez:cleanup-e0520, r=Dylan-DPC

Clean up E0520 explanation

r? @Dylan-DPC

4 years agoRollup merge of #71179 - matthiaskrgr:cl6ppy, r=Dylan-DPC
Dylan DPC [Thu, 16 Apr 2020 14:34:30 +0000 (16:34 +0200)]
Rollup merge of #71179 - matthiaskrgr:cl6ppy, r=Dylan-DPC

fix more clippy warnings

4 years agoRollup merge of #71149 - RalfJung:check-const-call, r=eddyb
Dylan DPC [Thu, 16 Apr 2020 14:34:29 +0000 (16:34 +0200)]
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.

4 years agoRollup merge of #71141 - Duddino:master, r=estebank
Dylan DPC [Thu, 16 Apr 2020 14:34:27 +0000 (16:34 +0200)]
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

4 years agoRollup merge of #70566 - jumbatm:exceeding-bitshifts-constprop, r=RalfJung
Dylan DPC [Thu, 16 Apr 2020 14:34:23 +0000 (16:34 +0200)]
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

4 years agoAuto merge of #70755 - wesleywiser:simplify_locals_2_electric_boogaloo, r=oli-obk
bors [Thu, 16 Apr 2020 14:26:43 +0000 (14:26 +0000)]
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.

4 years agosort unused unsafe blocks by Span instead of NodeId
ljedrz [Thu, 16 Apr 2020 12:53:09 +0000 (14:53 +0200)]
sort unused unsafe blocks by Span instead of NodeId

4 years agoRespond to code review feedback
Wesley Wiser [Thu, 16 Apr 2020 12:34:37 +0000 (08:34 -0400)]
Respond to code review feedback

- Remove reads of indirect `Place`s
- Add comments explaining what the algorithm does

4 years agosimplify unused unsafe block handling
ljedrz [Thu, 16 Apr 2020 12:24:52 +0000 (14:24 +0200)]
simplify unused unsafe block handling

4 years agoClean up E0520 explanation
Guillaume Gomez [Thu, 16 Apr 2020 11:51:02 +0000 (13:51 +0200)]
Clean up E0520 explanation

4 years agotest fast path offset reporting
Ralf Jung [Thu, 16 Apr 2020 11:21:23 +0000 (13:21 +0200)]
test fast path offset reporting

4 years agoswitch back to 'bytes'
Ralf Jung [Thu, 16 Apr 2020 11:19:51 +0000 (13:19 +0200)]
switch back to 'bytes'

4 years agoAuto merge of #70831 - sfackler:shrink-future-stack, r=matthewjasper
bors [Thu, 16 Apr 2020 09:13:07 +0000 (09:13 +0000)]
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::b::{{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::a::{{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.

4 years agoAuto merge of #71173 - RalfJung:miri, r=RalfJung
bors [Thu, 16 Apr 2020 05:47:24 +0000 (05:47 +0000)]
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

4 years agoAuto merge of #71159 - topecongiro:rustfmt-1.4.14, r=Dylan-DPC
bors [Thu, 16 Apr 2020 02:10:29 +0000 (02:10 +0000)]
Auto merge of #71159 - topecongiro:rustfmt-1.4.14, r=Dylan-DPC

Bump rustfmt and rls

Close #71076. Close #71077.

r? @Xanewok

4 years agobump Miri
Ralf Jung [Wed, 15 Apr 2020 16:32:41 +0000 (18:32 +0200)]
bump Miri

4 years agoAuto merge of #71180 - Dylan-DPC:rollup-pscpg6q, r=Dylan-DPC
bors [Wed, 15 Apr 2020 22:58:54 +0000 (22:58 +0000)]
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

4 years agoRollup merge of #71166 - GuillaumeGomez:cleanup-e0518, r=Dylan-DPC
Dylan DPC [Wed, 15 Apr 2020 22:39:27 +0000 (00:39 +0200)]
Rollup merge of #71166 - GuillaumeGomez:cleanup-e0518, r=Dylan-DPC

Clean up E0518 explanation

r? @Dylan-DPC

4 years agoRollup merge of #71145 - pfmooney:illumos-triple, r=nagisa
Dylan DPC [Wed, 15 Apr 2020 22:39:25 +0000 (00:39 +0200)]
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.

4 years agoRollup merge of #70990 - GuillaumeGomez:rustdoc-cleanup, r=ollie27
Dylan DPC [Wed, 15 Apr 2020 22:39:24 +0000 (00:39 +0200)]
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

4 years agoRollup merge of #70774 - GuillaumeGomez:clean-rustdoc-js-tools, r=ollie27
Dylan DPC [Wed, 15 Apr 2020 22:39:22 +0000 (00:39 +0200)]
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

4 years agoRollup merge of #70354 - XAMPPRocky:master, r=Mark-Simulacrum
Dylan DPC [Wed, 15 Apr 2020 22:39:17 +0000 (00:39 +0200)]
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

4 years agoRollup merge of #69903 - estebank:icemation, r=oli-obk
Dylan DPC [Wed, 15 Apr 2020 22:39:13 +0000 (00:39 +0200)]
Rollup merge of #69903 - estebank:icemation, r=oli-obk

Do not ICE in the face of invalid enum discriminant

Fix #67377.

r? @pnkfelix

4 years agodon't clone types that are copy (clippy::clone_on_copy)
Matthias Krüger [Wed, 15 Apr 2020 22:00:22 +0000 (00:00 +0200)]
don't clone types that are copy (clippy::clone_on_copy)

4 years agoFix clippy warnings
Matthias Krüger [Wed, 15 Apr 2020 13:15:31 +0000 (15:15 +0200)]
Fix clippy warnings

clippy::{filter_next,single_char_pattern,unit_arg,identity_conversion,nonminimal_bool}

4 years agoInlined everything into a single trait and trait impl
Rakshith Ravi [Wed, 15 Apr 2020 19:49:51 +0000 (01:19 +0530)]
Inlined everything into a single trait and trait impl

4 years agoAuto merge of #71139 - matthiaskrgr:submodule_upd, r=Dylan-DPC
bors [Wed, 15 Apr 2020 19:47:56 +0000 (19:47 +0000)]
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

4 years agoDirectly modify the `used_locals` vec
Wesley Wiser [Tue, 14 Apr 2020 01:02:03 +0000 (21:02 -0400)]
Directly modify the `used_locals` vec

Fixes perf regression in `optimized_mir` query

4 years agoRun `SimplifyLocals` iteratively until we get to a fixedpoint
Wesley Wiser [Sat, 4 Apr 2020 00:28:07 +0000 (20:28 -0400)]
Run `SimplifyLocals` iteratively until we get to a fixedpoint

4 years agosubmodules: update clippy from af5940b7 to 6651c1b9
Matthias Krüger [Wed, 15 Apr 2020 18:54:39 +0000 (20:54 +0200)]
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

4 years agoRemove other Rvalues
Wesley Wiser [Fri, 3 Apr 2020 23:31:59 +0000 (19:31 -0400)]
Remove other Rvalues

4 years agoAdd test case
Wesley Wiser [Fri, 3 Apr 2020 22:40:08 +0000 (18:40 -0400)]
Add test case

4 years agoDo not ICE in the face of invalid enum discriminant
Esteban Küber [Tue, 10 Mar 2020 23:24:34 +0000 (16:24 -0700)]
Do not ICE in the face of invalid enum discriminant

4 years agoAuto merge of #71172 - pietroalbini:update-tool-maintainers, r=pietroalbini
bors [Wed, 15 Apr 2020 16:23:48 +0000 (16:23 +0000)]
Auto merge of #71172 - pietroalbini:update-tool-maintainers, r=pietroalbini

Update tool maintainers

Centril is taking a break from the project.

4 years agoupdate tool maintainers
Pietro Albini [Wed, 15 Apr 2020 16:19:02 +0000 (18:19 +0200)]
update tool maintainers

4 years agoClean up E0518 explanation
Guillaume Gomez [Wed, 15 Apr 2020 12:20:40 +0000 (14:20 +0200)]
Clean up E0518 explanation

4 years agoreword Miri validity errors: undefined -> uninitialized
Ralf Jung [Wed, 15 Apr 2020 10:18:20 +0000 (12:18 +0200)]
reword Miri validity errors: undefined -> uninitialized

4 years agoProvide better compiler output when using `?` on `Option` in fn returning `Result...
Duddino [Wed, 15 Apr 2020 08:57:22 +0000 (10:57 +0200)]
Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa

4 years agoAuto merge of #71162 - Centril:rollup-jzg6ykc, r=Centril
bors [Wed, 15 Apr 2020 07:11:22 +0000 (07:11 +0000)]
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

4 years agoRollup merge of #71116 - marmeladema:dummy-hir-id-removal, r=eddyb
Mazdak Farrokhzad [Wed, 15 Apr 2020 07:10:05 +0000 (09:10 +0200)]
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.

4 years agoRollup merge of #71100 - RalfJung:miri-frame-hook, r=oli-obk
Mazdak Farrokhzad [Wed, 15 Apr 2020 07:10:03 +0000 (09:10 +0200)]
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

4 years agoRollup merge of #71030 - petrochenkov:linkorder2, r=nagisa
Mazdak Farrokhzad [Wed, 15 Apr 2020 07:10:02 +0000 (09:10 +0200)]
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.

4 years agoRollup merge of #70891 - lcnr:replace-rvalue_aggregate, r=eddyb
Mazdak Farrokhzad [Wed, 15 Apr 2020 07:10:00 +0000 (09:10 +0200)]
Rollup merge of #70891 - lcnr:replace-rvalue_aggregate, r=eddyb

unit rvalue, use constant `()` instead of tuple

fixes #70886

r? @eddyb

4 years agoremove rustfmt-induced spurious trailing comma
Ralf Jung [Wed, 15 Apr 2020 06:44:56 +0000 (08:44 +0200)]
remove rustfmt-induced spurious trailing comma

4 years agoremove an impossible branch from check_consts
Ralf Jung [Tue, 14 Apr 2020 20:50:16 +0000 (22:50 +0200)]
remove an impossible branch from check_consts

4 years agoAuto merge of #71106 - jonas-schievink:remove-call-guard-pass, r=ecstatic-morse,RalfJung
bors [Wed, 15 Apr 2020 03:40:37 +0000 (03:40 +0000)]
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)

4 years agoBump rustfmt and rls
topecongiro [Wed, 15 Apr 2020 02:07:33 +0000 (11:07 +0900)]
Bump rustfmt and rls

4 years agoUse fcntl() to set nonblock for solarish sockets
Patrick Mooney [Wed, 15 Apr 2020 00:44:06 +0000 (00:44 +0000)]
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.

4 years agoAuto merge of #71151 - Dylan-DPC:rollup-6rt4h7b, r=Dylan-DPC
bors [Wed, 15 Apr 2020 00:39:22 +0000 (00:39 +0000)]
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

4 years agoUpdate stderrs after rebase.
jumbatm [Tue, 14 Apr 2020 23:35:46 +0000 (09:35 +1000)]
Update stderrs after rebase.

4 years agoMove early needs_subst bailout to _after_ linting.
jumbatm [Wed, 1 Apr 2020 18:33:39 +0000 (04:33 +1000)]
Move early needs_subst bailout to _after_ linting.

This ensures we get still get lints for generic contexts.

4 years agoAmend exceeding-bitshifts test case for #69021.
jumbatm [Fri, 3 Apr 2020 13:48:04 +0000 (23:48 +1000)]
Amend exceeding-bitshifts test case for #69021.

- Change to warnings so that all lints are emitted
- Expect build-pass
- Change placeholder FIXME to WARN.

4 years agoRollup merge of #71135 - ehuss:update-books, r=ehuss
Dylan DPC [Tue, 14 Apr 2020 21:30:01 +0000 (23:30 +0200)]
Rollup merge of #71135 - ehuss:update-books, r=ehuss

Update books

## reference

13 commits in 89dd146154474559536d5d4049a03831c501deea..3ce94caed4cf967106c51ae86be5e098f7875f11
2020-03-31 09:42:10 -0700 to 2020-04-11 17:00:27 +0200
- UB definition: mention size_of_val for determining a reference's span (rust-lang-nursery/reference#793)
- Emphasize that `#[inline]` in all shapes is a hint. (rust-lang-nursery/reference#791)
- Added missing comma to Unions reference (rust-lang-nursery/reference#790)
- Attributes are now allowed on `if` and `if let` (rust-lang-nursery/reference#783)
- `enum`s can now be `#[repr(transparent)]` (rust-lang-nursery/reference#741)
- Undocument `use` paths. (rust-lang-nursery/reference#665)
- Clarify pub(restricted) a bit (rust-lang-nursery/reference#481)
- Add information about || and && to grammar describing `while let`. (rust-lang-nursery/reference#772)
- Document the `automatically_derived` attribute. (rust-lang-nursery/reference#555)
- Fix unstable check. (rust-lang-nursery/reference#743)
- Use common script for link checking. (rust-lang-nursery/reference#765)
- Add a basic style guide. (rust-lang-nursery/reference#787)
- Size fo empty structs in C is zero byte. (rust-lang-nursery/reference#782)

## book

14 commits in c8841f2841a2d26124319ddadd1b6a245f9a1856..f5db319e0b19c22964398d56bc63103d669e1bba
2020-03-22 09:07:01 -0500 to 2020-04-13 08:06:03 -0500
- Update ch01-01-installation.md to require TLS 1.2 (rust-lang/book#2301)
- traits as parameters: Use references instead of moving the values (rust-lang/book#2239)
- Fix a broken link
- Update go docs link (rust-lang/book#2285)
- Add the farsi translation repo link (rust-lang/book#2283)
- Add the missing word to the sentence (ch06-2) (rust-lang/book#2278)
- Fixes hardcoded output (rust-lang/book#2276)
- Use rust-lang/rust linkchecker on CI. (rust-lang/book#2272)
- Add union to the list of keywords (rust-lang/book#2271)
- Clarify the wording (rust-lang/book#2256)
- Improve sentence flow (rust-lang/book#2255)
- Add missing apostrophe (rust-lang/book#2247)
- Update cargo profiles link. (rust-lang/book#2245)
- Add note about chapter 18 in chapter 6 (rust-lang/book#2238)

## rust-by-example

1 commits in a6638463efc7631bc0e8dc67ccd256d4e1b61f1a..c106d1683c3a2b0960f0f0fb01728cbb19807332
2020-04-06 09:39:03 -0500 to 2020-04-09 09:14:39 -0300
- Improve the conversion example (rust-lang/rust-by-example#1329)

## edition-guide

1 commits in 37f9e6848411188a1062ead1bd8ebe4b8aa16899..8204c1d123472cd17f0c1c5c77300ae802eb0271
2020-02-10 14:36:14 +0100 to 2020-04-09 18:55:50 -0700
- Fix forge link. (rust-lang-nursery/edition-guide#200)

## embedded-book

1 commits in d22a9c487c78095afc4584f1d9b4ec43529d713c..668fb07b6160b9c468f598e839c1e044db65de30
2020-03-04 09:46:30 +0000 to 2020-04-13 12:38:16 +0000
- Add triagebot configuration  (rust-embedded/book#232)

4 years agoRollup merge of #71133 - MiSawa:fix-sort-by-key-doc, r=Dylan-DPC
Dylan DPC [Tue, 14 Apr 2020 21:29:59 +0000 (23:29 +0200)]
Rollup merge of #71133 - MiSawa:fix-sort-by-key-doc, r=Dylan-DPC

Tighten time complexity on the doc of sort_by_key

Fixes #71132

4 years agoRollup merge of #71128 - Mark-Simulacrum:clean-expansion, r=petrochenkov
Dylan DPC [Tue, 14 Apr 2020 21:29:58 +0000 (23:29 +0200)]
Rollup merge of #71128 - Mark-Simulacrum:clean-expansion, r=petrochenkov

Remove unused single_step flag

This appears to have never been used ever since its introduction in 61c7569d4 --
the plugin discussed on the PR introducing that commit, 34811, never
materialized.

It's also simple to re-add in the current scheme, but given that macro expansion
is already quite complicated, additional useless state seems good to remove
while we're not using it.

4 years agoRollup merge of #71082 - NeoRaider:ptr_slice_len, r=oli-obk,SimonSapin
Dylan DPC [Tue, 14 Apr 2020 21:29:56 +0000 (23:29 +0200)]
Rollup merge of #71082 - NeoRaider:ptr_slice_len, r=oli-obk,SimonSapin

ptr: introduce len() method on raw slices

It is already possible to extract the pointer part of a raw slice by a
simple cast, but retrieving the length is not possible without relying
on the representation of the raw slice when it is not valid to convert
the raw slice into a slice reference (i.e. the pointer is null or
unaligned).

~Introduce a new function ptr::slice_len() to add this missing feature.~

Introduce a len() method on raw slices to add this missing feature.

4 years agoRollup merge of #71002 - Freax13:fix-target, r=ollie27
Dylan DPC [Tue, 14 Apr 2020 21:29:55 +0000 (23:29 +0200)]
Rollup merge of #71002 - Freax13:fix-target, r=ollie27

fix target & runtool args order

- `TargetTripple::to_string` converts "path triples" to `<target>-<hash>`, but in this case we need the path. Afaict there is no method to get the real triple other than manually matching
- the order of the runtools arguments is inconsistent with the way tests usually pass arguments ie using `runner` key in `.cargo/config`

4 years agoRollup merge of #70949 - WaffleLapkin:simlify_vec_macro, r=petrochenkov
Dylan DPC [Tue, 14 Apr 2020 21:29:53 +0000 (23:29 +0200)]
Rollup merge of #70949 - WaffleLapkin:simlify_vec_macro, r=petrochenkov

simplify `vec!` macro

Simplify `vec!` macro by replacing 2 following branches:
- `($($x:expr),*) => (...)`
- `($($x:expr,)*) => (...)`
with one:
- `($($x:expr),* $(,)?) => (...)`

This is a minor change, however, this will make the documentation cleaner

4 years agoRollup merge of #70947 - RalfJung:ctfe-no-read-mut-global, r=oli-obk
Dylan DPC [Tue, 14 Apr 2020 21:29:52 +0000 (23:29 +0200)]
Rollup merge of #70947 - RalfJung:ctfe-no-read-mut-global, r=oli-obk

tighten CTFE safety net for accesses to globals

Previously, we only rejected reading from all statics. Now we also reject reading from any mutable global. Mutable globals are the true culprit here as their run-time value might be different from their compile-time values. Statics are just the approximation we use for that so far.

Also refactor the code a bit to make it clearer what is being checked and allowed.

r? @oli-obk

4 years agoRollup merge of #70657 - lcnr:unused_delims_try, r=Centril
Dylan DPC [Tue, 14 Apr 2020 21:29:50 +0000 (23:29 +0200)]
Rollup merge of #70657 - lcnr:unused_delims_try, r=Centril

Allow `try`-blocks in places where an open delim is expected

Closes #70490
Closes #56828

r? @Centril

4 years agoAuto merge of #70452 - eddyb:repeat-expr-correct-generics-parent, r=nikomatsakis
bors [Tue, 14 Apr 2020 21:23:40 +0000 (21:23 +0000)]
Auto merge of #70452 - eddyb:repeat-expr-correct-generics-parent, r=nikomatsakis

typeck: always expose repeat count `AnonConst`s' parent in `generics_of`.

This should reduce some of the confusion around #43408, although, if you look at the changed test outputs (for the last commit), they all hit #68436, so nothing new will start compiling.

We can let counts of "repeat expressions" (`N` in `[x; N]`) always have the correct generics parenting, because they're always in a body, so nothing in the `where` clauses or `impl` trait/type of the parent can use it, and therefore no query cycles can occur.

<hr/>

Other potential candidates we might want to apply the same approach to, are:
* ~~(easy) `enum` discriminants (see also #70453)~~ opened #70825
* (trickier) array *type* (not *expression*) lengths nested in:
  * bodies
  * types of (associated or not) `const`/`static`
  * RHS of `type` aliases and associated `type`s
  * `fn` signatures

We should've done so from the start, the only reason we haven't is because I was squeamish about blacklisting some of the cases, but if we whitelist instead we should be fine.
Also, lazy normalization is taking forever :disappointed:.

<hr/>

There's also 5 other commits here:
* "typeck: track any errors injected during writeback and taint tables appropriately." - fixes #66706, as the next commit would otherwise trigger an ICE again
* "typeck: workaround WF hole in `to_const`." - its purpose is to emulate most of #70107's direct effect, at least in the case of repeat expressions, where the count always goes through `to_const`
  * this is the reason no new code can really compile, as the WF checks require #68436 to bypass
  * however, this has more test changes than I hoped, so it should be reviewed separately, and maybe even landed separately (as #70107 might take a while, as it's blocked on a few of my PRs)
* "ty: erase lifetimes early in `ty::Const::eval`." - first attempt at fixing #70773
  * still useful, I believe the new approach is less likely to cause issues long-term
  * I could take this out or move it into another PR if desired or someone else could take over (cc @skinny121)
* "traits/query/normalize: add some `debug!` logging for the result." - debugging aid for #70773
* "borrow_check/type_check: normalize `Aggregate` and `Call` operands." - actually fixes #70773

r? @nikomatsakis cc @pnkfelix @varkor @yodaldevoid @oli-obk @estebank

4 years agoAdd illumos triple
Patrick Mooney [Mon, 13 Apr 2020 23:37:22 +0000 (23:37 +0000)]
Add illumos triple

Co-Authored-By: Jason King <jason.brian.king@gmail.com>
Co-Authored-By: Joshua M. Clulow <jmc@oxide.computer>
4 years agoptr: add tracking issue for len() method on raw slices
Matthias Schiffer [Tue, 14 Apr 2020 19:34:27 +0000 (21:34 +0200)]
ptr: add tracking issue for len() method on raw slices

4 years agoProvide better compiler output when using `?` on `Option` in fn returning `Result...
Duddino [Tue, 14 Apr 2020 15:31:59 +0000 (17:31 +0200)]
Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa

4 years agoAuto merge of #71138 - ehuss:update-cargo, r=ehuss
bors [Tue, 14 Apr 2020 17:24:34 +0000 (17:24 +0000)]
Auto merge of #71138 - ehuss:update-cargo, r=ehuss

Update cargo

12 commits in 390e8f245ef2cd7ac698b8a76abf029f9abcab0d..74e3a7d5b756d7c0e94399fc29fcd154e792c22a
2020-04-07 17:46:45 +0000 to 2020-04-13 20:41:52 +0000
- Update dependencies to support illumos target (rust-lang/cargo#8093)
- Whitelist another known spurious curl error (rust-lang/cargo#8102)
- Fix nightly test matching rustc "warning" output. (rust-lang/cargo#8098)
- Update default for codegen-units. (rust-lang/cargo#8096)
- Fix freshness when linking is interrupted. (rust-lang/cargo#8087)
- Add `cargo tree` command. (rust-lang/cargo#8062)
- Add "build-finished" JSON message. (rust-lang/cargo#8069)
- Extend -Zpackage-features with more capabilities. (rust-lang/cargo#8074)
- Disallow invalid dependency names through crate renaming (rust-lang/cargo#8090)
- Use the same filename hash for pre-release channels. (rust-lang/cargo#8073)
- Index the commands section (rust-lang/cargo#8081)
- Upgrade to mdBook v0.3.7 (rust-lang/cargo#8083)

4 years agotypeck: always expose repeat count `AnonConst`s' parent in `generics_of`.
Eduard-Mihai Burtescu [Wed, 8 Apr 2020 16:47:09 +0000 (19:47 +0300)]
typeck: always expose repeat count `AnonConst`s' parent in `generics_of`.

4 years agoborrow_check/type_check: normalize `Aggregate` and `Call` operands.
Eduard-Mihai Burtescu [Sat, 4 Apr 2020 18:26:34 +0000 (21:26 +0300)]
borrow_check/type_check: normalize `Aggregate` and `Call` operands.

4 years agotraits/query/normalize: add some `debug!` logging for the result.
Eduard-Mihai Burtescu [Sat, 4 Apr 2020 18:23:38 +0000 (21:23 +0300)]
traits/query/normalize: add some `debug!` logging for the result.

4 years agoty: erase lifetimes early in `ty::Const::eval`.
Eduard-Mihai Burtescu [Sat, 4 Apr 2020 17:08:33 +0000 (20:08 +0300)]
ty: erase lifetimes early in `ty::Const::eval`.

4 years agoUpdate cargo
Eric Huss [Tue, 14 Apr 2020 16:50:52 +0000 (09:50 -0700)]
Update cargo

4 years agoptr: introduce len() method on raw slices
Matthias Schiffer [Mon, 13 Apr 2020 18:58:23 +0000 (20:58 +0200)]
ptr: introduce len() method on raw slices

It is already possible to extract the pointer part of a raw slice by a
simple cast, but retrieving the length is not possible without relying
on the representation of the raw slice when it is not valid to convert
the raw slice into a slice reference (i.e. the pointer is null or
unaligned).

Introduce a len() method on raw slices to add this missing feature.

4 years agoptr: implement "const_slice_ptr" and "mut_slice_ptr" lang items
Matthias Schiffer [Mon, 13 Apr 2020 18:57:35 +0000 (20:57 +0200)]
ptr: implement "const_slice_ptr" and "mut_slice_ptr" lang items

4 years agorustdoc: add "const_slice_ptr" and "mut_slice_ptr" trait impls
Matthias Schiffer [Mon, 13 Apr 2020 19:00:32 +0000 (21:00 +0200)]
rustdoc: add "const_slice_ptr" and "mut_slice_ptr" trait impls

4 years agorustc: add lang items "const_slice_ptr" and "mut_slice_ptr"
Matthias Schiffer [Mon, 13 Apr 2020 18:52:06 +0000 (20:52 +0200)]
rustc: add lang items "const_slice_ptr" and "mut_slice_ptr"

Add lang items for methods on raw slices.

4 years agoallow try as scrutinee, e.g. `match try ...`
Bastian Kauschke [Tue, 14 Apr 2020 15:45:00 +0000 (17:45 +0200)]
allow try as scrutinee, e.g. `match try ...`

4 years agotypeck: workaround WF hole in `to_const`.
Eduard-Mihai Burtescu [Thu, 26 Mar 2020 23:46:24 +0000 (01:46 +0200)]
typeck: workaround WF hole in `to_const`.

4 years agotypeck: track any errors injected during writeback and taint tables appropriately.
Eduard-Mihai Burtescu [Fri, 27 Mar 2020 08:56:02 +0000 (10:56 +0200)]
typeck: track any errors injected during writeback and taint tables appropriately.

4 years agocleanup `is_expr_delims_necessary`
Bastian Kauschke [Tue, 14 Apr 2020 15:29:26 +0000 (17:29 +0200)]
cleanup `is_expr_delims_necessary`

4 years agoUpdate books
Eric Huss [Tue, 14 Apr 2020 15:54:05 +0000 (08:54 -0700)]
Update books

4 years agoTighten time complexity on the doc
mi_sawa [Tue, 14 Apr 2020 14:51:03 +0000 (23:51 +0900)]
Tighten time complexity on the doc

4 years agoRemove unused single_step flag
Mark Rousskov [Mon, 13 Apr 2020 02:01:15 +0000 (22:01 -0400)]
Remove unused single_step flag

This appears to have never been used ever since its introduction in 61c7569d4 --
the plugin discussed on the PR introducing that commit, 34811, never
materialized.

It's also simple to readd in the current scheme, but given that macro expansion
is already quite complicated, additional useless state seems good to remove
while we're not using it.

4 years agoAuto merge of #71125 - Dylan-DPC:rollup-3b8prjh, r=Dylan-DPC
bors [Tue, 14 Apr 2020 14:14:47 +0000 (14:14 +0000)]
Auto merge of #71125 - Dylan-DPC:rollup-3b8prjh, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #71112 (Remove the last remnant of unsigned Neg)
 - #71120 (Clean up E0517 explanation)
 - #71121 (Fix broken link in documentation for String::from_utf8)
 - #71122 (update `FnCtxt::lookup_method` docs)
 - #71124 (Add missing comma)

Failed merges:

r? @ghost

4 years agoRollup merge of #71124 - JOE1994:patch-3, r=Dylan-DPC
Dylan DPC [Tue, 14 Apr 2020 13:35:35 +0000 (15:35 +0200)]
Rollup merge of #71124 - JOE1994:patch-3, r=Dylan-DPC

Add missing comma

Added missing comma in doc comment

4 years agoRollup merge of #71122 - lcnr:update-docs, r=Mark-Simulacrum
Dylan DPC [Tue, 14 Apr 2020 13:35:33 +0000 (15:35 +0200)]
Rollup merge of #71122 - lcnr:update-docs, r=Mark-Simulacrum

update `FnCtxt::lookup_method` docs

Looks like the doc comment was forgotten during a refactor.

4 years agoRollup merge of #71121 - AnthonyMikh:fix_string_doc_link, r=Dylan-DPC
Dylan DPC [Tue, 14 Apr 2020 13:35:32 +0000 (15:35 +0200)]
Rollup merge of #71121 - AnthonyMikh:fix_string_doc_link, r=Dylan-DPC

Fix broken link in documentation for String::from_utf8

4 years agoRollup merge of #71120 - GuillaumeGomez:cleanup-e0517, r=Dylan-DPC
Dylan DPC [Tue, 14 Apr 2020 13:35:30 +0000 (15:35 +0200)]
Rollup merge of #71120 - GuillaumeGomez:cleanup-e0517, r=Dylan-DPC

Clean up E0517 explanation

r? @Dylan-DPC