Skip to content

Introduce a RerunNonErased error type mirroring NoSolution, to better track when we're bailing#156246

Open
jdonszelmann wants to merge 1 commit intorust-lang:mainfrom
jdonszelmann:rerun-error-type
Open

Introduce a RerunNonErased error type mirroring NoSolution, to better track when we're bailing#156246
jdonszelmann wants to merge 1 commit intorust-lang:mainfrom
jdonszelmann:rerun-error-type

Conversation

@jdonszelmann
Copy link
Copy Markdown
Contributor

r? @lcnr

@rustbot blocked #155443

@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented May 6, 2026

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

Some changes occurred to the CTFE machinery

cc @RalfJung, @oli-obk, @lcnr

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri

changes to the core type system

cc @lcnr

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels May 6, 2026
@rustbot rustbot added the S-blocked Status: Blocked on something else such as an RFC or other implementation work. label May 6, 2026
Comment thread compiler/rustc_next_trait_solver/src/solve/assembly/mod.rs
Comment thread compiler/rustc_next_trait_solver/src/solve/assembly/mod.rs
Comment thread compiler/rustc_next_trait_solver/src/solve/assembly/mod.rs Outdated
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
##[endgroup]
Executing "/scripts/stage_2_test_set1.sh"
+ /scripts/stage_2_test_set1.sh
+ '[' 1 == 1 ']'
+ echo 'PR_CI_JOB set; skipping tidy'
+ SKIP_TIDY='--skip tidy'
+ ../x.py --stage 2 test --skip tidy --skip compiler --skip src
PR_CI_JOB set; skipping tidy
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.04s
##[endgroup]
---
---- [ui] tests/ui-fulldeps/rustc-dev-remap.rs#only-remap stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/rustc-dev-remap.only-remap/rustc-dev-remap.only-remap.stderr`
diff of stderr:

16   ::: /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:LL:COL
17    |
18    = note: `ControlFlow<T>`
+   ::: /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:LL:COL
+    |
+    = note: `Result<(), E>`
19 note: required by a bound in `rustc_ast::visit::Visitor::Result`
20   --> /rustc-dev/xyz/compiler/rustc_ast/src/visit.rs:LL:COL
21   ::: /rustc-dev/xyz/compiler/rustc_ast/src/visit.rs:LL:COL

Note: some mismatched output was normalized before being compared
-   ::: /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:44:0
+   ::: /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:LL:COL
+    |
+    = note: `Result<(), E>`


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args rustc-dev-remap.rs`

error in revision `only-remap`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui-fulldeps/rustc-dev-remap.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "only_remap" "--check-cfg" "cfg(test,FALSE,only_remap,remap_unremap)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/rustc-dev-remap.only-remap" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Z" "simulate-remapped-rust-src-base=/rustc-dev/xyz"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `NotAValidResultType: VisitorResult` is not satisfied
##[error]  --> /checkout/tests/ui-fulldeps/rustc-dev-remap.rs:26:19
   |
LL |     type Result = NotAValidResultType;
   |                   ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the nightly-only, unstable trait `VisitorResult` is not implemented for `NotAValidResultType`
  --> /checkout/tests/ui-fulldeps/rustc-dev-remap.rs:23:1
   |
LL | struct NotAValidResultType;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `VisitorResult`
  --> /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:12:0
   |
   = note: `()`
  ::: /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:27:0
   |
   = note: `ControlFlow<T>`
  ::: /rustc-dev/xyz/compiler/rustc_ast_ir/src/visit.rs:44:0
   |
   = note: `Result<(), E>`
note: required by a bound in `rustc_ast::visit::Visitor::Result`
  --> /rustc-dev/xyz/compiler/rustc_ast/src/visit.rs:517:16
  ::: /rustc-dev/xyz/compiler/rustc_ast/src/visit.rs:1136:0
   |
   = note: in this macro invocation
   = note: this error originates in the macro `common_visitor_and_walkers` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 1 previous error
---
17 ...
18 LL | impl<T> VisitorResult for ControlFlow<T> {
19    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ControlFlow<T>`
+ ...
+ LL | impl<E> VisitorResult for Result<(), E> {
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<(), E>`
20 note: required by a bound in `rustc_ast::visit::Visitor::Result`
21   --> $COMPILER_DIR_REAL/rustc_ast/src/visit.rs:LL:COL
22    |


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args rustc-dev-remap.rs`

error in revision `remap-unremap`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui-fulldeps/rustc-dev-remap.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "remap_unremap" "--check-cfg" "cfg(test,FALSE,only_remap,remap_unremap)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui-fulldeps/rustc-dev-remap.remap-unremap" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Z" "simulate-remapped-rust-src-base=/rustc-dev/xyz" "-Ztranslate-remapped-path-to-local-path=yes"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `NotAValidResultType: VisitorResult` is not satisfied
##[error]  --> /checkout/tests/ui-fulldeps/rustc-dev-remap.rs:26:19
   |
LL |     type Result = NotAValidResultType;
   |                   ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the nightly-only, unstable trait `VisitorResult` is not implemented for `NotAValidResultType`
  --> /checkout/tests/ui-fulldeps/rustc-dev-remap.rs:23:1
   |
LL | struct NotAValidResultType;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: the following other types implement trait `VisitorResult`
---
...
LL | impl<T> VisitorResult for ControlFlow<T> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ControlFlow<T>`
...
LL | impl<E> VisitorResult for Result<(), E> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<(), E>`
note: required by a bound in `rustc_ast::visit::Visitor::Result`
  --> /checkout/compiler/rustc_ast/src/visit.rs:517:30
   |
LL |                 type Result: VisitorResult = ();
   |                              ^^^^^^^^^^^^^ required by this bound in `Visitor::Result`
...
LL | common_visitor_and_walkers!(Visitor<'a>);
   | ---------------------------------------- in this macro invocation
   = note: this error originates in the macro `common_visitor_and_walkers` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 1 previous error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-blocked Status: Blocked on something else such as an RFC or other implementation work. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants