From 8b70a6f4b7a43f4e87f7cbd83ea2eb7d20b00f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Rakic?= Date: Mon, 4 May 2026 17:03:42 +0200 Subject: [PATCH 1/3] test new solver on CI until stabilization We need it to be able to build the stdlib, and this has regressed in the recent past. --- src/ci/docker/scripts/x86_64-gnu-llvm.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ci/docker/scripts/x86_64-gnu-llvm.sh b/src/ci/docker/scripts/x86_64-gnu-llvm.sh index 5fa17d954c3bc..46b35502905b6 100755 --- a/src/ci/docker/scripts/x86_64-gnu-llvm.sh +++ b/src/ci/docker/scripts/x86_64-gnu-llvm.sh @@ -18,3 +18,8 @@ set -ex # This is intended to make sure that both `--pass=check` continues to # work. ../x.ps1 --stage 2 test tests/ui --pass=check --host='' --target=i686-unknown-linux-gnu + +# Rebuild the stdlib using the new trait solver, to ensure it doesn't regress +# until stabilization. +RUSTFLAGS_NOT_BOOTSTRAP="-Znext-solver=globally" ../x --stage 1 build library \ + --host='' --target=i686-unknown-linux-gnu From 05120796a5c5d26b7a7536424e95eebd17732add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Rakic?= Date: Mon, 4 May 2026 19:08:40 +0200 Subject: [PATCH 2/3] work around const Iterator failure with new solver this is lcnr's solution --- compiler/rustc_next_trait_solver/src/solve/effect_goals.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/rustc_next_trait_solver/src/solve/effect_goals.rs b/compiler/rustc_next_trait_solver/src/solve/effect_goals.rs index ccd5c649d4c9e..da21ff66f8e15 100644 --- a/compiler/rustc_next_trait_solver/src/solve/effect_goals.rs +++ b/compiler/rustc_next_trait_solver/src/solve/effect_goals.rs @@ -374,7 +374,7 @@ where _ecx: &mut EvalCtxt<'_, D>, _goal: Goal, ) -> Result, NoSolutionOrRerunNonErased> { - todo!("Iterator is not yet const") + Err(NoSolutionOrRerunNonErased::NoSolution(NoSolution)) } fn consider_builtin_fused_iterator_candidate( From f243f57807500ffe75ff450a3388971d0a5e2298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Rakic?= Date: Thu, 7 May 2026 11:11:06 +0200 Subject: [PATCH 3/3] fix comment --- src/ci/docker/scripts/x86_64-gnu-llvm.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/ci/docker/scripts/x86_64-gnu-llvm.sh b/src/ci/docker/scripts/x86_64-gnu-llvm.sh index 46b35502905b6..79177b96a4afc 100755 --- a/src/ci/docker/scripts/x86_64-gnu-llvm.sh +++ b/src/ci/docker/scripts/x86_64-gnu-llvm.sh @@ -13,10 +13,7 @@ set -ex # despite having different output on 32-bit vs 64-bit targets. ../x --stage 2 test tests/mir-opt --host='' --target=i686-unknown-linux-gnu -# Run the UI test suite again, but in `--pass=check` mode -# -# This is intended to make sure that both `--pass=check` continues to -# work. +# Run the UI test suite in `--pass=check` mode, to ensure it continues to work. ../x.ps1 --stage 2 test tests/ui --pass=check --host='' --target=i686-unknown-linux-gnu # Rebuild the stdlib using the new trait solver, to ensure it doesn't regress