-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Rollup of 14 pull requests #64864
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rollup of 14 pull requests #64864
Conversation
This commit fixes an ICE when `target_feature` is applied to constants. Signed-off-by: David Wood <david@davidtw.co>
update rtpSpawn's parameters type(It's prototype has been updated in …
See linked comment[1] for context. 1: rust-lang#64809 (comment) Signed-off-by: David Wood <david@davidtw.co>
When there's a type mismatch we make an effort to check if it was caused by a function's return type. This logic now makes sure to only point at the return type if the error happens in a tail expression.
The non-global context was removed; there's only one context now. This is a noop method that only serves to confuse readers -- remove it.
There's no longer two distinct gcx and tcx lifetimes which made this necessary (or, at least, the code compiles -- it's possible we got better at normalizing, but that seems unlikely).
where `A` is a constant, not a new variable.
…, r=rkruppe Docs: slice elements are equidistant Recently, someone asked why `[char]` and `str` are not interchangeable, and I explained that in a slice, the elements must be laid out equidistantly, whereas the chars in a `str` are stored compactly regardless their size. However I couldn't find this documented anywhere, so here's a small addition of this fact.
…varkor Include message on tests that should panic but do not As per issue rust-lang#60790 includes a message for tests marked `#[should_panic]` that do not panic as expected. Fixes rust-lang#60790.
Remove stray references to the old global tcx
…=estebank Remove unused DepTrackingMap Deletes some related code (MemoizationMap trait, etc.) I believe this became unused with red/green incremental introduction, but am uncertain.
…atthewjasper Account for tail expressions when pointing at return type When there's a type mismatch we make an effort to check if it was caused by a function's return type. This logic now makes sure to only point at the return type if the error happens in a tail expression. Turn `walk_parent_nodes` method into an iterator. CC rust-lang#39968, CC rust-lang#40799.
…e-const, r=varkor hir: Disallow `target_feature` on constants Fixes rust-lang#64768. This PR fixes an ICE when `#[target_feature]` is applied to constants by disallowing this with the same error as when `#[target_feature]` is applied to other places it shouldn't be. I couldn't see anything in the [RFC](https://github.com/rust-lang/rfcs/blob/master/text/2045-target-feature.md) that suggested that `#[target_feature]` should be applicable to constants or any tests that suggested it should, though I might have missed something - if this is desirable in future, it remains possible to remove this error (but for the time being, I think this error is better than an ICE). I also added some extra cases to the test for other places where `#[target_feature]` should not be permitted. cc @gnzlbg
Fix div_duration() marked as stable by mistake
update rtpSpawn's parameters type(It's prototype has been updated in libc) r? @alexcrichton
…tebank Thou shallt not `.abort_if_errors()` r? @estebank
… r=SimonSapin Stabilize map_get_key_value feature FCP done in rust-lang#49347 (comment) r? @SimonSapin Closes rust-lang#49347
pin.rs: fix links to primitives in documentation
Upgrade env_logger to 0.7 `./x.py test` passed locally.
…arkor Add mailmap entry for Dustin Bensing by request This should deduplicate entries from @pythoneer between the stdarch submodule and this repo itself on thanks.rust-lang.org.
…stebank check_match: improve diagnostics for `let A = 2;` with `const A: i32 = 3` For example: ``` error[E0005]: refutable pattern in local binding: `std::i32::MIN..=1i32` and `3i32..=std::i32::MAX` not covered --> $DIR/const-pat-non-exaustive-let-new-var.rs:2:9 | LL | let A = 3; | ^ | | | interpreted as a constant pattern, not a new variable | help: introduce a variable instead: `a_var` ... LL | const A: i32 = 2; | ----------------- constant defined here ``` r? @estebank cc @matthiaskrgr @rpjohnst
@bors r+ p=14 rollup=never |
📌 Commit 017944c has been approved by |
Rollup of 14 pull requests Successful merges: - #64703 (Docs: slice elements are equidistant) - #64745 (Include message on tests that should panic but do not) - #64781 (Remove stray references to the old global tcx) - #64794 (Remove unused DepTrackingMap) - #64802 (Account for tail expressions when pointing at return type) - #64809 (hir: Disallow `target_feature` on constants) - #64815 (Fix div_duration() marked as stable by mistake) - #64818 (update rtpSpawn's parameters type(It's prototype has been updated in libc)) - #64830 (Thou shallt not `.abort_if_errors()`) - #64836 (Stabilize map_get_key_value feature) - #64845 (pin.rs: fix links to primitives in documentation) - #64847 (Upgrade env_logger to 0.7) - #64851 (Add mailmap entry for Dustin Bensing by request) - #64859 (check_match: improve diagnostics for `let A = 2;` with `const A: i32 = 3`) Failed merges: r? @ghost
☀️ Test successful - checks-azure |
📣 Toolstate changed by #64864! Tested on commit f3c8eba. 💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra). |
Tested on commit rust-lang/rust@f3c8eba. Direct link to PR: <rust-lang/rust#64864> 💔 clippy-driver on windows: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra). 💔 clippy-driver on linux: test-pass → build-fail (cc @mcarton @oli-obk @Manishearth @flip1995 @yaahc @phansch @llogiq, @rust-lang/infra).
Successful merges:
target_feature
on constants #64809 (hir: Disallowtarget_feature
on constants).abort_if_errors()
#64830 (Thou shallt not.abort_if_errors()
)let A = 2;
withconst A: i32 = 3
#64859 (check_match: improve diagnostics forlet A = 2;
withconst A: i32 = 3
)Failed merges:
r? @ghost