Skip to content

Crash tests fail for i686-unknown-linux-gnu #148482

@Rx1513

Description

@Rx1513

Summary

When I build latest stable release for x86_64-unknown-linux-gnu and aarch64-unknown-linux-gnu all crash tests are passed, but when I build for i686-unknown-linux-gnu 93237.rs and 108499.rs fail as not being an ICE anymore.

Command used

python3 ./x.py test --no-doc --no-fail-fast --target i686-unknown-linux-gnu tests/crashes

Expected behaviour

All tests pass or fail for all other unknown-linux-gnu targets.

Actual behaviour

Crash tests fail just for i686-unknown-linux-gnu with:

Error Log

[01:04:58] �[2m2025-11-03T22:09:42.037139Z�[0m �[31mERROR�[0m �[2mcompiletest::runtest�[0m�[2m:�[0m fatal error, panic: "crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`."
[01:04:58] test [crashes] tests/crashes/93237.rs ... FAILED
[01:05:35] �[2m2025-11-03T22:10:19.641556Z�[0m �[31mERROR�[0m �[2mcompiletest::runtest�[0m�[2m:�[0m fatal error, panic: "crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`."
[01:05:35] test [crashes] tests/crashes/108499.rs ... FAILED
[01:05:35] 
[01:05:35] failures:
[01:05:35] 
[01:05:35] ---- [crashes] tests/crashes/93237.rs stdout ----
[01:05:35] 
[01:05:35] 
[01:05:35] executing env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="0" "/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/stage3/bin/rustc" "/usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/93237.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=/usr/src/.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/usr/src/RPM/BUILD/rust-1.91.0/vendor" "--sysroot" "/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/stage3" "--target=i686-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "-O" "-Zdump-mir-dir=/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/test/crashes/93237" "-C" "prefer-dynamic" "--out-dir" "/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/test/crashes/93237" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0"
[01:05:35] ------rustc stdout------------------------------
[01:05:35] 
[01:05:35] ------rustc stderr------------------------------
[01:05:35] error[E0601]: `main` function not found in crate `93237`
[01:05:35]   --> /usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/93237.rs:18:42
[01:05:35]    |
[01:05:35] 18 | m! {[###########][impl Trait<Assoc =][>]}
[01:05:35]    |                                          ^ consider adding a `main` function to `/usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/93237.rs`
[01:05:35] 
[01:05:35] error[E0275]: overflow evaluating the requirement `() well-formed`
[01:05:35]   --> /usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/93237.rs:18:19
[01:05:35]    |
[01:05:35] 18 | m! {[###########][impl Trait<Assoc =][>]}
[01:05:35]    |                   ^^^^^^^^^^^^^^^^^^^^^
[01:05:35]    |
[01:05:35]    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`93237`)
[01:05:35] 
[01:05:35] error: aborting due to 2 previous errors
[01:05:35] 
[01:05:35] Some errors have detailed explanations: E0275, E0601.
[01:05:35] For more information about an error, try `rustc --explain E0275`.
[01:05:35] 
[01:05:35] ------------------------------------------
[01:05:35] 
[01:05:35] error: crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`.
[01:05:35] 
[01:05:35] thread '[crashes] tests/crashes/93237.rs' panicked at src/tools/compiletest/src/runtest/crashes.rs:17:18:
[01:05:35] fatal error
[01:05:35] stack backtrace:
[01:05:35]    4: __rustc::rust_begin_unwind
[01:05:35]    5: core::panicking::panic_fmt
[01:05:35]    6: <compiletest::runtest::TestCx>::fatal
[01:05:35]    7: <compiletest::runtest::TestCx>::run_revision
[01:05:35]    8: compiletest::runtest::run
[01:05:35] note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[01:05:35] ---- [crashes] tests/crashes/93237.rs stdout end ----
[01:05:35] ---- [crashes] tests/crashes/108499.rs stdout ----
[01:05:35] 
[01:05:35] 
[01:05:35] executing env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="0" "/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/stage3/bin/rustc" "/usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/108499.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=/usr/src/.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/usr/src/RPM/BUILD/rust-1.91.0/vendor" "--sysroot" "/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/stage3" "--target=i686-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "-O" "-Zdump-mir-dir=/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/test/crashes/108499" "-C" "prefer-dynamic" "--out-dir" "/usr/src/RPM/BUILD/rust-1.91.0/build/i686-unknown-linux-gnu/test/crashes/108499" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0"
[01:05:35] ------rustc stdout------------------------------
[01:05:35] 
[01:05:35] ------rustc stderr------------------------------
[01:05:35] error[E0275]: overflow evaluating the requirement `(): Op<((), ()), [[[(); 0]; 0]; 0], [[_; 0]; 0], [(); 0]>`
[01:05:35]   --> /usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/108499.rs:14:20
[01:05:35]    |
[01:05:35] 14 |     println!("{}", Test::default());
[01:05:35]    |                    ^^^^
[01:05:35]    |
[01:05:35]    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "4000"]` attribute to your crate (`108499`)
[01:05:35] note: required for `()` to implement `Op<((), ()), [[[(); 0]; 0]; 0], [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[(); 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0], [[(); 0]; 0]>`
[01:05:35]   --> /usr/src/RPM/BUILD/rust-1.91.0/tests/crashes/108499.rs:29:3
[01:05:35]    |
[01:05:35] 27 |     Y: Op<(X, Y), A, X::Result, C>,
[01:05:35]    |        --------------------------- unsatisfied trait bound introduced here
[01:05:35] 28 |     A, B, C,
[01:05:35] 29 | > Op<(X, Y), A, [[B; 0]; 0], [C; 0]> for () {
[01:05:35]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     ^^
[01:05:35]    = note: 1996 redundant requirements hidden
[01:05:35]    = note: required for `()` to implement `Op<((), ()), [[[(); 0]; 0]; 0], [[[[[[[[[[[[[[[[[[[[[[[[[[[(); 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0]; 0], [[[(); 0]; 0]; 0]>`
[01:05:35] 
[01:05:35] error: aborting due to 1 previous error
[01:05:35] 
[01:05:35] For more information about this error, try `rustc --explain E0275`.
[01:05:35] 
[01:05:35] ------------------------------------------
[01:05:35] 
[01:05:35] error: crashtest no longer crashes/triggers ICE, hooray! Please give it a meaningful name, add a doc-comment to the start of the test explaining why it exists and move it to tests/ui or wherever you see fit. Adding 'Fixes #<issueNr>' to your PR description ensures that the corresponding ticket is auto-closed upon merge. If you want to see verbose output, set `COMPILETEST_VERBOSE_CRASHES=1`.
[01:05:35] 
[01:05:35] thread '[crashes] tests/crashes/108499.rs' panicked at src/tools/compiletest/src/runtest/crashes.rs:17:18:
[01:05:35] fatal error
[01:05:35] stack backtrace:
[01:05:35]    4: __rustc::rust_begin_unwind
[01:05:35]    5: core::panicking::panic_fmt
[01:05:35]    6: <compiletest::runtest::TestCx>::fatal
[01:05:35]    7: <compiletest::runtest::TestCx>::run_revision
[01:05:35]    8: compiletest::runtest::run
[01:05:35] note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[01:05:35] ---- [crashes] tests/crashes/108499.rs stdout end ----
[01:05:35] 
[01:05:35] failures:
[01:05:35]     [crashes] tests/crashes/93237.rs
[01:05:35]     [crashes] tests/crashes/108499.rs
[01:05:35] 
[01:05:35] test result: FAILED. 206 passed; 2 failed; 20 ignored; 0 measured; 0 filtered out; finished in 39.47s
[01:05:35] 
[01:05:35] Some tests failed in compiletest suite=crashes mode=crashes host=i686-unknown-linux-gnu target=i686-unknown-linux-gnu
[01:05:35] 
[01:05:35] 

Bootstrap configuration (bootstrap.toml)

change-id = 146435
[build]
target = ["i686-unknown-linux-gnu", "wasm32-unknown-unknown"]
cargo = "/usr/bin/cargo"
rustc = "/usr/bin/rustc"
python = "python3"
submodules = false
docs = true
verbose = 2
vendor = true
extended = true
optimized-compiler-builtins = false
tools = ["cargo", "rustdoc", "rust-analyzer", "clippy", "rustfmt", "src"]
build-stage = 3
test-stage = 3
doc-stage = 3

[install]
prefix = "/usr"

[rust]
channel = "stable"
download-rustc = false
codegen-tests = false
backtrace = true
jemalloc = false
rpath = false
debug = false
deny-warnings = false
codegen-units = 1
debuginfo-level = 0
lld = false

[llvm]
link-shared = true
download-ci-llvm = false
ninja = true
use-libcxx = false

[target.i686-unknown-linux-gnu]
cc = "clang"
cxx = "clang++"
ar = "llvm-ar"
ranlib = "llvm-ranlib"
llvm-config = "/usr/bin/llvm-config"
profiler = "/usr/lib/llvm-21.1/lib/clang/21/lib/i586-pc-linux-gnu/libclang_rt.profile.a"
optimized-compiler-builtins = false
llvm-libunwind = "no"

Operating system

ALT Linux Sisyphus

HEAD

f8297e3

Additional context

I have several patches I took from #143735, #140473, #114940 and patch for os_info dependency.
But I believe none of these patches affect the result as they either arch independent or affect linkage for wasm32-unknown-unknown.

I also have these RUSTFLAGS in my environment:
RUSTFLAGS="-Clink-arg=-Wl,-z,relro,-z,now -Clink-args=-fPIC"

Related to:
Segfault when returning deep function compositions #93237
rustc segfaults when evaluating certain recursive trait implementations #108499

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions