-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 14 pull requests #64864
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