-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Fix off-by-one error causing slice::sort to abort the program #136163
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
Conversation
r? @chenyukang rustbot has assigned @chenyukang. Use |
r? libs |
Looks good to me, @Voultapher any thoughts? |
I'm suggesting minor changes, the fix itself looks good. |
8ffa11c
to
37abe21
Compare
Some of the comments mention |
37abe21
to
ea42603
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the fix @uellenberg
In the original driftsort repository this constant was defined as |
Fixes rust-lang#136103. Based on the analysis by @jonathan-gruber-jg and @orlp.
ea42603
to
1565254
Compare
Could we maybe change the PR title, crash usually suggests UB, here we are just running into assert style function preconditions, in this case not using panics and instead abort to save on binary-size. |
@bors r+ |
…=Mark-Simulacrum Fix off-by-one error causing slice::sort to abort the program Fixes rust-lang#136103. Based on the analysis by `@jonathan-gruber-jg` and `@orlp.`
…kingjubilee Rollup of 16 pull requests Successful merges: - rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu) - rust-lang#135768 (tests: Port `symbol-mangling-hashed` to rmake.rs) - rust-lang#135836 (bootstrap: only build `crt{begin,end}.o` when compiling to MUSL) - rust-lang#135840 (omit unused args warnings for intrinsics without body) - rust-lang#135900 (Manually walk into WF obligations in `BestObligation` proof tree visitor) - rust-lang#136146 (Explicitly choose x86 softfloat/hardfloat ABI) - rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe}) - rust-lang#136163 (Fix off-by-one error causing slice::sort to abort the program) - rust-lang#136266 (fix broken release notes id) - rust-lang#136283 (Update encode_utf16 to mention it is native endian) - rust-lang#136309 (set rustc dylib on manually constructed rustc command) - rust-lang#136314 (Use proper type when applying deref adjustment in const) - rust-lang#136339 (CompileTest: Add Directives to Ignore `arm-unknown-*` Targets) - rust-lang#136348 (miri: make float min/max non-deterministic) - rust-lang#136351 (Add documentation for derive(CoercePointee)) - rust-lang#136358 (`#[optimize(none)]` implies `#[inline(never)]`) Failed merges: - rust-lang#135994 (Rename rustc_middle::Ty::is_unsafe_ptr to is_raw_ptr) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#135840 (omit unused args warnings for intrinsics without body) - rust-lang#135900 (Manually walk into WF obligations in `BestObligation` proof tree visitor) - rust-lang#136163 (Fix off-by-one error causing slice::sort to abort the program) - rust-lang#136266 (fix broken release notes id) - rust-lang#136314 (Use proper type when applying deref adjustment in const) - rust-lang#136348 (miri: make float min/max non-deterministic) - rust-lang#136351 (Add documentation for derive(CoercePointee)) r? `@ghost` `@rustbot` modify labels: rollup
Fixes #136103.
Based on the analysis by @jonathan-gruber-jg and @orlp.