Repository navigation
Conversation
Collaborator
Member
Author
That turned out to not be the case. const_precise_live_drops does notice that these consts are faulty. However we then still run them anyway, which definitely should not happen. I opened #163973 for that. |
This comment has been minimized.
This comment has been minimized.
RalfJung
force-pushed
the
non-const-eval
branch
2 times, most recently
from
October 8, 2026 07:53
d302f9d to
2c91546
Compare
This comment has been minimized.
This comment has been minimized.
RalfJung
force-pushed
the
non-const-eval
branch
2 times, most recently
from
October 8, 2026 08:59
cd46abe to
a37c510
Compare
This comment has been minimized.
This comment has been minimized.
RalfJung
force-pushed
the
non-const-eval
branch
from
October 8, 2026 09:55
a37c510 to
f74a200
Compare
oli-obk
approved these changes
Oct 8, 2026
Contributor
This was referenced Oct 8, 2026
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 8, 2026
…uwer Rollup of 9 pull requests Successful merges: - #163462 (Fix COFF renaming of decorated (stdcall/fastcall/vectorcall) exports) - #163855 (Include enclosing item's context on const errors) - #163861 (Run LLDB debuginfo tests on `x86_64-mingw`) - #163538 (Add `rustc::missing_generic_type_visitable` lint) - #163617 (mips: make `Complex<T>` ABI match GCC) - #163832 (reject non-async coroutine closures as async callables) - #163958 (only make `RustaceansAreAwesome` satisfy trait clauses) - #163974 (Condense AdtDef lang item checks into one match) - #163979 (Add `bf16` to arm features) Failed merges: - #163972 (const-eval: ICE when we hit a non-const fn)
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 8, 2026
…uwer Rollup of 12 pull requests Successful merges: - #163462 (Fix COFF renaming of decorated (stdcall/fastcall/vectorcall) exports) - #163855 (Include enclosing item's context on const errors) - #163861 (Run LLDB debuginfo tests on `x86_64-mingw`) - #161201 (Speed up tidy again) - #163538 (Add `rustc::missing_generic_type_visitable` lint) - #163617 (mips: make `Complex<T>` ABI match GCC) - #163772 (comptime fn error: suggest wrapping in const block) - #163832 (reject non-async coroutine closures as async callables) - #163958 (only make `RustaceansAreAwesome` satisfy trait clauses) - #163974 (Condense AdtDef lang item checks into one match) - #163979 (Add `bf16` to arm features) - #163989 (Revert "compiletest: stream output of executor process when --no-capture is set") Failed merges: - #163972 (const-eval: ICE when we hit a non-const fn)
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 8, 2026
…uwer Rollup of 19 pull requests Successful merges: - #156112 (Distinguish `repr(C)` ZSTs from others in ABI computation) - #157941 (Deny partial `-Z stack-protector` by default in all editions) - #163462 (Fix COFF renaming of decorated (stdcall/fastcall/vectorcall) exports) - #163855 (Include enclosing item's context on const errors) - #163861 (Run LLDB debuginfo tests on `x86_64-mingw`) - #163913 ( Silence redundant failed obligations on the same statement) - #161201 (Speed up tidy again) - #163380 (Tweak "name not found" resolution error when it happens from within a derive expansion) - #163538 (Add `rustc::missing_generic_type_visitable` lint) - #163617 (mips: make `Complex<T>` ABI match GCC) - #163772 (comptime fn error: suggest wrapping in const block) - #163813 (use pre-borrowck typing env for early MIR validation) - #163924 (replace instances of NonNull::new(&mut x).expect("...") with NonNull::from_mut) - #163958 (only make `RustaceansAreAwesome` satisfy trait clauses) - #163960 (vexos: clear .bss from assembly) - #163974 (Condense AdtDef lang item checks into one match) - #163979 (Add `bf16` to arm features) - #163989 (Revert "compiletest: stream output of executor process when --no-capture is set") - #163995 (m68k-unknown-none-elf: Remove code model) Failed merges: - #163832 (reject non-async coroutine closures as async callables) - #163972 (const-eval: ICE when we hit a non-const fn)
This comment has been minimized.
This comment has been minimized.
programskillforverification
pushed a commit
to programskillforverification/miri
that referenced
this pull request
Oct 9, 2026
…uwer Rollup of 19 pull requests Successful merges: - rust-lang/rust#156112 (Distinguish `repr(C)` ZSTs from others in ABI computation) - rust-lang/rust#157941 (Deny partial `-Z stack-protector` by default in all editions) - rust-lang/rust#163462 (Fix COFF renaming of decorated (stdcall/fastcall/vectorcall) exports) - rust-lang/rust#163855 (Include enclosing item's context on const errors) - rust-lang/rust#163861 (Run LLDB debuginfo tests on `x86_64-mingw`) - rust-lang/rust#163913 ( Silence redundant failed obligations on the same statement) - rust-lang/rust#161201 (Speed up tidy again) - rust-lang/rust#163380 (Tweak "name not found" resolution error when it happens from within a derive expansion) - rust-lang/rust#163538 (Add `rustc::missing_generic_type_visitable` lint) - rust-lang/rust#163617 (mips: make `Complex<T>` ABI match GCC) - rust-lang/rust#163772 (comptime fn error: suggest wrapping in const block) - rust-lang/rust#163813 (use pre-borrowck typing env for early MIR validation) - rust-lang/rust#163924 (replace instances of NonNull::new(&mut x).expect("...") with NonNull::from_mut) - rust-lang/rust#163958 (only make `RustaceansAreAwesome` satisfy trait clauses) - rust-lang/rust#163960 (vexos: clear .bss from assembly) - rust-lang/rust#163974 (Condense AdtDef lang item checks into one match) - rust-lang/rust#163979 (Add `bf16` to arm features) - rust-lang/rust#163989 (Revert "compiletest: stream output of executor process when --no-capture is set") - rust-lang/rust#163995 (m68k-unknown-none-elf: Remove code model) Failed merges: - rust-lang/rust#163832 (reject non-async coroutine closures as async callables) - rust-lang/rust#163972 (const-eval: ICE when we hit a non-const fn)
RalfJung
force-pushed
the
non-const-eval
branch
from
October 9, 2026 08:16
f74a200 to
38c5c50
Compare
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Oct 9, 2026
const-eval: ICE when we hit a non-const fn We made this a "nice" error solely so we can test miri-unleashed better, but it was never meant to be an error that users can actually get -- just a second line of defense in case there is a bug in our const checking logic. This seems to [cause some confusion](rust-lang#161627 (comment)) so let's make it an ICE when Miri is not unleashed. This also uncovered that even if `const_precise_live_drops` finds a problem, we still run the code that was found to not be const-safe: rust-lang#163973. r? @oli-obk Cc @tmiasko
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Oct 9, 2026
const-eval: ICE when we hit a non-const fn We made this a "nice" error solely so we can test miri-unleashed better, but it was never meant to be an error that users can actually get -- just a second line of defense in case there is a bug in our const checking logic. This seems to [cause some confusion](rust-lang#161627 (comment)) so let's make it an ICE when Miri is not unleashed. This also uncovered that even if `const_precise_live_drops` finds a problem, we still run the code that was found to not be const-safe: rust-lang#163973. r? @oli-obk Cc @tmiasko
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 9, 2026
…uwer Rollup of 14 pull requests Successful merges: - #162652 (Syntactically reject leading parenthesized precise capturing lists in bare trait object types (`(use<…>)+`)) - #163337 (MIR move elimination [3/6]: PreciseLiveness) - #163954 (fix(bootstrap/darwin): fix rpath for distributed LLD) - #163193 (cfi: mangle `f128` as `e` rather than `g` on platforms without `_Float128`) - #163634 (move overflow lint computation into decorator) - #163666 (Updates the expect message library/core/src/time.rs) - #163727 (rigid aliases to non-rigid for fully normalized check) - #163745 (replace `fully_monomorphized` with `cx.typing_env()`) - #163912 (Fix debug assert failure in `note_obligation_cause_code_inner`) - #163972 (const-eval: ICE when we hit a non-const fn) - #164000 (When mentioning that closure doesn't implement trait, point at closure) - #164007 ([rustdoc] Prefer local paths over remote ones when foreign item is locally reexported) - #164017 (cg_llvm: Avoid some explicit casts to `*const c_char`) - #164025 (Less `CanonicalVarValues`)
Member
|
💔 I suspect this PR failed tests as part of a rollup After fixing the problem, consider running a try job for the failed job before re-approving. Link to failure: #164027 (comment) |
Contributor
|
This pull request was unapproved. This PR was contained in a rollup (#164027), which was unapproved. |
Member
Author
|
So apparently path remapping is broken on aarch64 and we have to do it by hand in the regexes? Is that a known problem? |
RalfJung
force-pushed
the
non-const-eval
branch
from
October 9, 2026 13:44
abdee54 to
e3941d6
Compare
Member
Author
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 9, 2026
const-eval: ICE when we hit a non-const fn try-job: dist-aarch64-linux
Contributor
Member
|
@bors r=oli-obk |
Contributor
Contributor
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Oct 9, 2026
const-eval: ICE when we hit a non-const fn We made this a "nice" error solely so we can test miri-unleashed better, but it was never meant to be an error that users can actually get -- just a second line of defense in case there is a bug in our const checking logic. This seems to [cause some confusion](rust-lang#161627 (comment)) so let's make it an ICE when Miri is not unleashed. This also uncovered that even if `const_precise_live_drops` finds a problem, we still run the code that was found to not be const-safe: rust-lang#163973. r? @oli-obk Cc @tmiasko
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Oct 9, 2026
const-eval: ICE when we hit a non-const fn We made this a "nice" error solely so we can test miri-unleashed better, but it was never meant to be an error that users can actually get -- just a second line of defense in case there is a bug in our const checking logic. This seems to [cause some confusion](rust-lang#161627 (comment)) so let's make it an ICE when Miri is not unleashed. This also uncovered that even if `const_precise_live_drops` finds a problem, we still run the code that was found to not be const-safe: rust-lang#163973. r? @oli-obk Cc @tmiasko
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Oct 9, 2026
const-eval: ICE when we hit a non-const fn We made this a "nice" error solely so we can test miri-unleashed better, but it was never meant to be an error that users can actually get -- just a second line of defense in case there is a bug in our const checking logic. This seems to [cause some confusion](rust-lang#161627 (comment)) so let's make it an ICE when Miri is not unleashed. This also uncovered that even if `const_precise_live_drops` finds a problem, we still run the code that was found to not be const-safe: rust-lang#163973. r? @oli-obk Cc @tmiasko
rust-bors Bot
pushed a commit
that referenced
this pull request
Oct 9, 2026
…uwer Rollup of 24 pull requests Successful merges: - #161998 ( Support type-relative assoc item paths in generic param defaults & const param types) - #162106 (Helpful suggestions for incorrect address-of mutability (2)) - #162652 (Syntactically reject leading parenthesized precise capturing lists in bare trait object types (`(use<…>)+`)) - #163337 (MIR move elimination [3/6]: PreciseLiveness) - #163938 (-Zassumptions-on-binders: rewrite alias outlives constraints more goodly) - #163939 (Better debug impls for some assumptions on binders types) - #163954 (fix(bootstrap/darwin): fix rpath for distributed LLD) - #163956 (Pass the unremapped path to the `rustc` invocation for doctests) - #164042 (Allow testing cg-gcc on any target) - #162443 (Do not retain `Normalization` goal errors in nested goals for `BestObligationVisitor:: non_trivial_candidates `) - #162908 (Fix - const parameters rejected when identical) - #163193 (cfi: mangle `f128` as `e` rather than `g` on platforms without `_Float128`) - #163634 (move overflow lint computation into decorator) - #163666 (Updates the expect message library/core/src/time.rs) - #163727 (rigid aliases to non-rigid for fully normalized check) - #163745 (replace `fully_monomorphized` with `cx.typing_env()`) - #163912 (Fix debug assert failure in `note_obligation_cause_code_inner`) - #163950 (don't treat inherited opaques as defining) - #163972 (const-eval: ICE when we hit a non-const fn) - #164000 (When mentioning that closure doesn't implement trait, point at closure) - #164007 ([rustdoc] Prefer local paths over remote ones when foreign item is locally reexported) - #164008 (properly ignore the current goal's usages) - #164017 (cg_llvm: Avoid some explicit casts to `*const c_char`) - #164025 (Less `CanonicalVarValues`)
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
View all comments
We made this a "nice" error solely so we can test miri-unleashed better, but it was never meant to be an error that users can actually get -- just a second line of defense in case there is a bug in our const checking logic. This seems to cause some confusion so let's make it an ICE when Miri is not unleashed.
This also uncovered that even if
const_precise_live_dropsfinds a problem, we still run the code that was found to not be const-safe: #163973.r? @oli-obk
Cc @tmiasko