Uh oh!
There was an error while loading. Please reload this page.
Rollup of 12 pull requests - #78334
Conversation
#77147 simplifies things by splitting this Mutex type into two types matching the two use cases: StaticMutex and MovableMutex. To support the behavior of StaticMutex, we move part of the mutex implementation into libstd.
the commit avoid an alignement issue in Mutex implementation
This deconfuses the comparison of floats, that currently mixed ranges and non-ranges.
This makes it consistent with std::panic!("message"), which also throws
a &str, not a String.It now throws a &str instead of a String.
…tion The optimization introduces additional uses of the discriminant operand, but does not ensure that it is still valid to evaluate it or that it still evaluates to the same value. Evaluate it once at original position, and store the result in a new temporary.
This issue was accidentally fixed recently, probably by #70743
const_evaluatable_checked: deal with unused nodes + div r? @oli-obk
TyCtxt: generate single impl block with `slice_interners` macro Reduces the work needed to check overlapping impls a bit.
resolve: Relax macro resolution consistency check to account for any errors The check was previously omitted only when ambiguity errors or `Res::Err` were encountered, but the "macro-expanded `extern crate` items cannot shadow..." error (at least) can cause same inconsistencies as well. Fixes#78325
jonas-schievink
commented
Oct 24, 2020
bors
commented
Oct 24, 2020
📌 Commit 58ae889 has been approved by |
bors
commented
Oct 24, 2020
bors
commented
Oct 25, 2020
☀️ Test successful - checks-actions |
rust-highfive
commented
Oct 25, 2020
📣 Toolstate changed by #78334! Tested on commit f58ffc9. 💔 miri on windows: test-pass → test-fail (cc @oli-obk@eddyb@RalfJung). |
Tested on commit rust-lang/rust@f58ffc9. Direct link to PR: <rust-lang/rust#78334> 💔 miri on windows: test-pass → test-fail (cc @oli-obk@eddyb@RalfJung). 💔 miri on linux: test-pass → test-fail (cc @oli-obk@eddyb@RalfJung). 💔 rls on windows: test-pass → build-fail (cc @Xanewok). 💔 rls on linux: test-pass → build-fail (cc @Xanewok). 💔 rustfmt on windows: test-pass → build-fail (cc @topecongiro@calebcartwright). 💔 rustfmt on linux: test-pass → build-fail (cc @topecongiro@calebcartwright).
Mark-Simulacrum
commented
Oct 27, 2020
This had some effect on compiler performance; I'm not sure which PRs were responsible. I suspect #78072 and #78191. cc @Nadrieril@tmiasko -- do those perf results look like they could be because of those PRs? I think a good next step is probably to post reverts of each so that we can see if they were the cause. |
jonas-schievink
commented
Oct 27, 2020
I think #78191 only touches a disabled optimization |
Nadrieril
commented
Oct 27, 2020
@Mark-Simulacrum Ah yeah that very much looks like the effect of changes to match checking. My PR was based on #77390 which was a perf improvement so I didn't think to check. |
Nadrieril
commented
Oct 27, 2020
Mark-Simulacrum
commented
Oct 27, 2020
Yeah, no worries, that sounds fine. Just wanted to make sure we had a clear idea of the cause. I don't think the regression(s) are bad enough to warrant doing more work here, especially as you have followup improvements that outweigh them. |
Successful merges:
#[deny(unsafe_op_in_unsafe_fn)]in sys/cloudabi #75115 (#[deny(unsafe_op_in_unsafe_fn)]in sys/cloudabi)slice_internersmacro #78318 (TyCtxt: generate single impl block withslice_internersmacro)Failed merges:
r? @ghost