Skip to content
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

Make -Zdump-mir dump shims #58103

Merged
merged 9 commits into from Feb 10, 2019

Conversation

Projects
None yet
4 participants
@RalfJung
Copy link
Member

RalfJung commented Feb 3, 2019

Fixes #53532 by (a) making the MIR shim generation use the MIR pass infrastructure, and (b) fixing said infrastructure to handle the fallout.

Cc @eddyb @oli-obk

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Feb 3, 2019

r? @eddyb

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Feb 3, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:189e6090:start=1549203878616683007,finish=1549203971249672248,duration=92632989241
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:57:48] .................................................................................................... 400/5362
[00:57:52] .................................................................................................... 500/5362
[00:57:55] .............................i...................................................................... 600/5362
[00:57:59] .................................................................................................... 700/5362
[00:58:04] FF..............F.F........................................F....F.....F....................F........ 800/5362
[00:58:10] ..F..F..........F...F....................................................i...............i.......... 900/5362
[00:58:17] iiiii............................................................................................... 1100/5362
[00:58:17] iiiii............................................................................................... 1100/5362
[00:58:20] .........................................................F.......................................... 1200/5362
[00:58:22] .................................................................................................... 1300/5362
[00:58:25] .....................................................F.............................................. 1400/5362
[00:58:31] ...........................................................................................i........ 1600/5362
[00:58:34] ..................................................................i................................. 1700/5362
[00:58:38] .................................................................................................... 1800/5362
[00:58:38] .................................................................................................... 1800/5362
[00:58:42] ................................................F................................................... 1900/5362
[00:58:49] ......................i............................................................................. 2100/5362
[00:58:53] .................................................................................................... 2200/5362
[00:58:58] .................................................................................................... 2300/5362
[00:59:02] .................................................................................................... 2400/5362
[00:59:02] .................................................................................................... 2400/5362
[00:59:06] .................................................................................................... 2500/5362
[00:59:09] .................................................................................................... 2600/5362
[00:59:13] ....F.................................F............................................................. 2700/5362
[00:59:18] .................................................................................................... 2800/5362
[00:59:22] ............F....................................................................................... 2900/5362
[00:59:29] .................................................................................................... 3100/5362
[00:59:34] .................................................................................................... 3200/5362
[00:59:37] ...................i................................................................................ 3300/5362
[00:59:41] .....................................................................................ii...i..ii..... 3400/5362
---
[01:00:35] .................................................................................................... 4700/5362
[01:00:38] .................................................................................................... 4800/5362
[01:00:43] .................................................................................................... 4900/5362
[01:00:46] .................................................................................................... 5000/5362
[01:00:50] ................................................F................................................... 5100/5362
[01:00:56] .................................................................................................... 5300/5362
[01:00:58] .i............................................................
[01:00:58] failures:
[01:00:58] 
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-array-oob.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 3    |
[01:00:58] 3    |
[01:00:58] 4 LL | const BLUB: [u32; FOO[4]] = [5, 6];
[01:00:58] 5    |                   ^^^^^^ index out of bounds: the len is 3 but the index is 4
[01:00:58] +    |
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 6 
---
[01:00:58] 10 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /cestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-array-oob.rs:8:19\n   |\nLL | const BLUB: [u32; FOO[4]] = [5, 6];\n   |                   ^^^^^^ index out of bounds: the len is 3 but the index is 4\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-array-oob.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/consts/const-array-oob.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-call.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] 4 LL |     let _ = [0; f(2)];
[01:00:58] 6 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 9    |
[01:00:58] 9    |
[01:00:58] 10 LL |     let _ = [0; f(2)];
[01:00:58] 11    |                 ^^^^ calling non-const function `f`
[01:00:58] +    |
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 12 
---
[01:00:58] 17 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-call/const-call.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-call.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-call.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-call/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-call/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"calls in constants are limited to constant functions, tuple structs and tuple variants","code":{"code":"E0015","explanation":"\nThe only functions that can be called in static or constant expressions are\n`const` functions, and struct/enum constructors. `const` functions are only\navailable on a nightly compiler. Rust currently does not support more general\ncompile-time function execution.\n\n```\nconst FOO: Option<u8> = Some(1); // enum constructor\nstruct Bar {x: u8}\nconst BAR: Bar = Bar {x: 1}; // struct constructor\n```\n\nSee [RFC 911] for more details on the design of `const fn`s.\n\n[RFC 911]: https://github.com/rust-lang/rfcs/blob/master/text/0911-const-fn.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-call.rs","byte_start":63,"byte_end":67,"line_start":6,"line_end":6,"column_start":17,"column_end":21,"is_primary":true,"text":[{"text":"    let _ = [0; f(2)];","highlight_start":17,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants\n  --> /checkout/src/test/ui/consts/const-call.rs:6:17\n   |\nLL |     let _ = [0; f(2)];\n   |                 ^^^^\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-call.rs","byte_start":63,"byte_end":67,"line_start":6,"line_end":6,"column_start":17,"column_end":21,"is_primary":true,"text":[{"text":"    let _ = [0; f(2)];","highlight_start":17,"highlight_end":21}],"label":"calling non-const function `f`","suggested_replacement":null,"suggestion_applicability":null,"expansion":nulnote: #[deny(const_err)] on by default
[01:00:58] 7 error: aborting due to previous error
[01:00:58] 8 
[01:00:58] 
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] 10 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-eval-overflow-3/const-eval-overflow-3.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-eval/const-eval-overflow-3.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const-eval-overflow-3.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-eval-overflow-3/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-eval-overflow-3/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-eval-overflow-3.rs","byte_start":545,"byte_end":558,"line_start":20,"line_end":20,"column_start":11,"column_end":24,"is_primary":false,"text":[{"text":"    = [0; (i8::MAX + 1) as usize];","highlight_start":11,"highlight_end":24}],"label":"attempt to add with overflow","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-eval-overflow-3.rs","byte_start":545,"byte_end":567,"line_start":20,"line_end":20,"column_start":11,"column_end":33,"is_primary":true,"text":[{"text":"    = [0; (i8::MAX + 1) as usize];","highlight_start":11,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-eval/const-eval-overflow-3.rs:20:11\n   |\nLL |     = [0; (i8::MAX + 1) as usize];\n   |           -------------^^^^^^^^^\n   |           |\n   |           attempt to add with overflow\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-eval/const-eval-overflow-3.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/consts/const-eval/const-eval-overflow-3.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-eval/const-eval-overflow-4.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 3    |
[01:00:58] 3    |
[01:00:58] 4 LL |     : [u32; (i8::MAX as i8 + 1i8) as usize]
[01:00:58] -    |             ^^^^^^^^^^^^^^^^^^^^^ attempt to add with overflow
[01:00:58] +    |             ---------------------^^^^^^^^^
[01:00:58] +    |             |
[01:00:58] +    |             attempt to add with overflow
---
[01:00:58] 10 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-eval-overflow-4/const-eval-overflow-4.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-eval/const-eval-overflow-4.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const-eval-overflow-4.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-eval-overflow-4/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const-eval-overflow-4/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/const-eval-overflow-4.rs","byte_start":300,"byte_end":321,"line_start":13,"line_end":13,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":"    : [u32; (i8::MAX as i8 + 1i8) as usize]","highlight_start":13,"highlight_end":34}],"label":"attempt to add with overflow","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/const-eval-overflow-4.rs","byte_start":300,"byte_end":330,"line_start":13,"line_end":13,"column_start":13,"column_end":43,"is_primary":true,"text":[{"text":"    : [u32; (i8::MAX as i8 + 1i8) as usize]","highlight_start":13,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-eval/const-eval-overflow-4.rs:13:13\n   |\nLL |     : [u32; (i8::MAX as i8 + 1i8) as usize]\n   |             ---------------------^^^^^^^^^\n   |             |\n   |             attempt to add with overflow\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-eval/const-eval-overflow-4.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/consts/const-eval/const-eval-overflow-4.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-eval/match-test-ptr-null.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] 12 LL |             0 => 42, //~ ERROR constant contains unimplemented expression type
[01:00:58] 14 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] -   --> $DIR/match-test-ptr-null.rs:7:13
[01:00:58] -   --> $DIR/match-test-ptr-null.rs:7:13
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 17    |
[01:00:58] 17    |
[01:00:58] - LL |             0 => 42, //~ ERROR constant contains unimplemented expression type
[01:00:58] -    |             ^ "pointer arithmetic or comparison" needs an rfc before being allowed inside constants
[01:00:58] + LL |       let _: [u8; 0] = [4; {
[01:00:58] +    |  __________________________^
[01:00:58] + LL | |         match &1 as *const i32 as usize { //~ ERROR casting pointers to integers in constants
[01:00:58] + LL | |             0 => 42, //~ ERROR constant contains unimplemented expression type
[01:00:58] +    | |             - "pointer arithmetic or comparison" needs an rfc before being allowed inside constants
[01:00:58] + LL | |             //~^ NOTE "pointer arithmetic or comparison" needs an rfc before being allowed
[01:00:58] + ...  |
[01:00:58] + LL | |         }
[01:00:58] + LL | |     }];
[01:00:58] +    |
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 20 
[01:00:58] 21 error: aborting due to 3 previous errors
---
[01:00:58] 25 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/match-test-ptr-null/match-test-ptr-null.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-eval/match-test-ptr-null.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/c; // here is good\n    let x = FOO.func(); // or even here!\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/match-test-ptr-null.rs","byte_start":348,"byte_end":349,"line_start":7,"line_end":7,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":"            0 => 42, //~ ERROR constant contains unimplemented expression type","highlight_start":13,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0019]: constant contains unimplemented expression type\n  --> /checkout/src/test/ui/consts/const-eval/match-test-ptr-null.rs:7:13\n   |\nLL |             0 => 42, //~ ERROR constant contains unimplemented expression type\n   |             ^\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/match-test-ptr-null.rs","byte_start":348,"byte_end":349,"line_start":7,"line_end":7,"column_start":13,"column_end":14,"is_primary":false,"text":[{"text":"            0 => 42, //~ ERROR constant contains unimplemented expression type","highlight_start":13,"highlight_end":14}],"label":"\"pointer arithmetic or comparison\" needs an rfc before being allowed inside constants","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/match-test-ptr-null.rs","byte_start":240,"byte_end":600,"line_start":5,"line_end":12,"column_start":26,"column_end":6,"is_primary":true,"text":[{"text":"    let _: [u8; 0] = [4; {","highlight_start":26,"highlight_end":27},{"text":"        match &1 as *const i32 as usize { //~ ERROR casting pointers to integers in constants","highlight_start":1,"highlight_end":94},{"text":"            0 => 42, //~ ERROR constant contains unimplemented expression type","highlight_start":1,"highlight_end":79},{"text":"            //~^ NOTE \"pointer arithmetic or comparison\" needs an rfc before being allowed","highlight_start":1,"highlight_end":91},{"text":"            //~| ERROR evaluation of constant value failed","highlight_start":1,"highlight_end":59},{"text":"            n => n,","highlight_start":1,"highlight_end":20},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"    }];","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-eval/match-test-ptr-null.rs:5:26\n   |\nLL |       let _: [u8; 0] = [4; {\n   |  __________________________^\nLL | |         match &1 as *const i32 as usize { //~ ERROR casting pointers to integers in constants\nLL | |             0 => 42, //~ ERROR constant contains unimplemented expression type\n   | |             - \"pointer arithmetic or comparison\" needs an rfc before being allowed inside constants\nLL | |             //~^ NOTE \"pointer arithmetic or comparison\" needs an rfc before being allowed\n...  |\nLL | |         }\nLL | |     }];\n   | |_____^\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 3 previous errors\n\n"}
[01:00:58] {"message":"Some errors occurred: E0019, E0658.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0019, E0658.\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-eval/match-test-ptr-null.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
---
[01:00:58] 21    | |_____^
[01:00:58] 22 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] -   --> $DIR/infinite_loop.rs:8:20
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 25    |
[01:00:58] 25    |
[01:00:58] - LL |             n = if n % 2 == 0 { n/2 } else { 3*n + 1 };
[01:00:58] -    |                    ^^^^^^^^^^ duplicate interpreter state observed here, const evaluation will never terminate
[01:00:58] + LL |       let _ = [(); {
[01:00:58] +    |  __________________^
[01:00:58] + LL | |         //~^ WARNING Constant evaluating a complex constant, this might take some time
[01:00:58] + LL | |         let mut n = 113383; // #20 in https://oeis.org/A006884
[01:00:58] + LL | |         while n != 0 { //~ ERROR constant contains unimplemented expression type
[01:00:58] + LL | |             n = if n % 2 == 0 { n/2 } else { 3*n + 1 };
[01:00:58] +    | |                    ---------- duplicate interpreter state observed here, const evaluation will never terminate
[01:00:58] + ...  |
[01:00:58] + LL | |         n
[01:00:58] + LL | |     }];
[01:00:58] +    |
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 28 
[01:00:58] 29 error: aborting due to 2 previous errors
---
[01:00:58] 33 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/infinite_loop/infinite_loop.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-eval/infinite_loop.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/infinite_loop.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" t":9,"column_end":10,"is_primary":true,"text":[{"text":"        while n != 0 { //~ ERROR constant contains unimplemented expression type","highlight_start":9,"highlight_end":81},{"text":"            n = if n % 2 == 0 { n/2 } else { 3*n + 1 };","highlight_start":1,"highlight_end":56},{"text":"            //~^ ERROR evaluation of constant value failed","highlight_start":1,"highlight_end":59},{"text":"        }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0019]: constant contains unimplemented expression type\n  --> /checkout/src/test/ui/consts/const-eval/infinite_loop.rs:7:9\n   |\nLL | /         while n != 0 { //~ ERROR constant contains unimplemented expression type\nLL | |             n = if n % 2 == 0 { n/2 } else { 3*n + 1 };\nLL | |             //~^ ERROR evaluation of constant value failed\nLL | |         }\n   | |_________^\n\n"}
[01:00:58] {"message":"Constant evaluating a complex constant, this might take some time","code":null,"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/infinite_loop.rs","byte_start":175,"byte_end":548,"line_start":4,"line_end":12,"column_start":18,"column_end":6,"is_primary":true,"text":[{"text":"    let _ = [(); {","highlight_start":18,"highlight_end":19},{"text":"        //~^ WARNING Constant evaluating a complex constant, this might take some time","highlight_start":1,"highlight_end":87},{"text":"        let mut n = 113383; // #20 in https://oeis.org/A006884","highlight_start":1,"highlight_end":63},{"text":"        while n != 0 { //~ ERROR constant contains unimplemented expression type","highlight_start":1,"highlight_end":81},{"text":"            n = if n % 2 == 0 { n/2 } else { 3*n + 1 };","highlight_start":1,"highlight_end":56},{"text":"            //~^ ERROR evaluation of constant value failed","highlight_start":1,"highlight_end":59},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"        n","highlight_start":1,"highlight_end":10},{"text":"    }];","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: Constant evaluating a complex constant, this might take some time\n  --> /checkout/src/test/ui/consts/const-eval/infinite_loop.rs:4:18\n   |\nLL |       let _ = [(); {\n   |  __________________^\nLL | |         //~^ WARNING Constant evaluating a complex constant, this might take some time\nLL | |         let mut n = 113383; // #20 in https://oeis.org/A006884\nLL | |         while n != 0 { //~ ERROR constant contains unimplemented expression type\n...  |\nLL | |         n\nLL | |     }];\n   | |_____^\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/infinite_loop.rs","byte_start":427,"byte_end":437,"line_start":8,"line_end":8,"column_start":20,"column_end":30,"is_primary":false,"text":[{"text":"            n = if n % 2 == 0 { n/2 } else { 3*n + 1 };","highlight_start":20,"highlight_end":30}],"label":"duplicate interpreter state observed here, const evaluation will never terminate","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/infinite_loop.rs","byte_start":175,"byte_end":548,"line_start":4,"line_end":12,"column_start":18,"column_end":6,"is_primary":true,"text":[{"text":"    let _ = [(); {","highlight_start":18,"highlight_end":19},{"text":"        //~^ WARNING Constant evaluating a complex constant, this might take some time","highlight_start":1,"highlight_end":87},{"text":"        let mut n = 113383; // #20 in https://oeis.org/A006884","highlight_start":1,"highlight_end":63},{"text":"        while n != 0 { //~ ERROR constant contains unimplemented expression type","highlight_start":1,"highlight_end":81},{"text":"            n = if n % 2 == 0 { n/2 } else { 3*n + 1 };","highlight_start":1,"highlight_end":56},{"text":"            //~^ ERROR evaluation of constant value failed","highlight_start":1,"highlight_end":59},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"        n","highlight_start":1,"highlight_end":10},{"text":"    }];","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-eval/infinite_loop.rs:4:18\n   |\nLL |       let _ = [(); {\n   |  __________________^\nLL | |         //~^ WARNING Constant evaluating a complex constant, this might take some time\nLL | |         let mut n = 113383; // #20 in https://oeis.org/A006884\nLL | |         while n != 0 { //~ ERROR constant contains unimplemented expression type\nLL | |             n = if n % 2 == 0 { n/2 } else { 3*n + 1 };\n   | |                    ---------- duplicate interpreter state observed here, const evaluation will never terminate\n...  |\nLL | |         n\nLL | |     }];\n   | |_____^\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"For more information about this error, try `rustc --explain E0019`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0019`.\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-eval/infinite_loop.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-eval/shift_overflow.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 3    |
[01:00:58] 3    |
[01:00:58] 4 LL |     X = 1 << ((u32::max_value() as u64) + 1), //~ ERROR E0080
[01:00:58] 
[01:00:58] 5    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to shift left with overflow
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 6 
[01:00:58] 7 error: aborting due to previous error
[01:00:58] 8 
[01:00:58] 8 
[01:00:58] 
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] 10 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/shift_overflow/shift_overflow.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-eval/shift_overflow.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/shift_overflow.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/shift_overflow/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/shift_overflow/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/shift_overflow.rs","byte_start":82,"byte_end":118,"line_start":3,"line_end":3,"column_start":9,"column_end":45,"is_primary":true,"text":[{"text":"    X = 1 << ((u32::max_value() as u64) + 1), //~ ERROR E0080","highlight_start":9,"highlight_end":45}],"label":"attempt to shift left with overflow","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-eval/shift_overflow.rs:3:9\n   |\nLL |     X = 1 << ((u32::max_value() as u64) + 1), //~ ERROR E0080\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to shift left with overflow\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-eval/shift_overflow.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
---
[01:00:58] 21    | |_____^
[01:00:58] 22 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] -   --> $DIR/issue-52475.rs:7:17
[01:00:58] + error: any use of this value will cause an error
[01:00:58]u can totally use it anywhere else:\n\n```\nenum Test {\n    V1\n}\n\nimpl Test {\n    fn func(&self) -> i32 {\n        12\n    }\n}\n\nfn main() {\n    const FOO: Test = Test::V1;\n\n    FOO.func(); // here is good\n    let x = FOO.func(); // or even here!\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/issue-52475.rs","byte_start":173,"byte_end":378,"line_start":6,"line_end":9,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"        while n < 5 { //~ ERROR constant contains unimplemented expression type","highlight_start":9,"highlight_end":80},{"text":"            n = (n + 1) % 5; //~ ERROR evaluation of constant value failed","highlight_start":1,"highlight_end":75},{"text":"            x = &0; // Materialize a new AllocId","highlight_start":1,"highlight_end":49},{"text":"        }","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0019]: constant contains unimplemented expression type\n  --> /checkout/src/test/ui/consts/const-eval/issue-52475.rs:6:9\n   |\nLL | /         while n < 5 { //~ ERROR constant contains unimplemented expression type\nLL | |             n = (n + 1) % 5; //~ ERROR evaluation of constant value failed\nLL | |             x = &0; // Materialize a new AllocId\nLL | |         }\n   | |_________^\n\n"}
[01:00:58] {"message":"Constant evaluating a complex constant, this might take some time","code":null,"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/consts/const-eval/issue-52475.rs","byte_start":29,"byte_end":394,[{"file_name":"/checkout/src/test/ui/consts/const-eval/issue-52475.rs","byte_start":261,"byte_end":272,"line_start":7,"line_end":7,"column_start":17,"column_end":28,"is_primary":false,"text":[{"text":"            n = (n + 1) % 5; //~ ERROR evaluation of constant value failed","highlight_start":17,"highlight_end":28}],"label":"duplicate interpreter state observed here, const evaluation will never terminate","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-eval/issue-52475.rs","byte_start":29,"byte_end":394,"line_start":2,"line_end":11,"column_start":18,"column_end":6,"is_primary":true,"text":[{"text":"    let _ = [(); {","highlight_start":18,"highlight_end":19},{"text":"        //~^ WARNING Constant evaluating a complex constant, this might take some time","highlight_start":1,"highlight_end":87},{"text":"        let mut x = &0;","highlight_start":1,"highlight_end":24},{"text":"        let mut n = 0;","highlight_start":1,"highlight_end":23},{"text":"        while n < 5 { //~ ERROR constant contains unimplemented expression type","highlight_start":1,"highlight_end":80},{"text":"            n = (n + 1) % 5; //~ ERROR evaluation of constant value failed","highlight_start":1,"highlight_end":75},{"text":"            x = &0; // Materialize a new AllocId","highlight_start":1,"highlight_end":49},{"text":"        }","highlight_start":1,"highlight_end":10},{"text":"        0","highlight_start":1,"highlight_end":10},{"text":"    }];","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":nul0:58] 9    = note: #[deny(const_err)] on by default
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 13    |
[01:00:58] 13    |
[01:00:58] 14 LL |     let a: [i8; LEN] = unimplemented!();
[01:00:58] 16 
[01:00:58] 17 error: aborting due to 2 previous errors
[01:00:58] 18 
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] 20 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-len-underflow-separate-spans/const-len-underflow-separate-spans.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-len-underflow-separate-spans.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-len-underflow-separate-spans.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-len-underflow-separate-spans/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-len-underflow-separate-spans/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-len-underflow-separate-spans.rs","byte_start":249,"byte_end":258,"line_start":7,"line_end":7,"column_start":20,"column_end":29,"is_primary":false,"text":[{"text":"const LEN: usize = ONE - TWO;","highlight_start":20,"highlight_end":29}],"label":"attempt to subtract with overflow","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-len-underflow-separate-spans.rs","byte_start":230,"byte_end":259,"line_start":7,"line_end":7,"column_start":1,"column_end":30,"is_primary":true,"text":[{"text":"const LEN: usize = ONE - TWO;","highlight_start":1,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-len-underflow-separate-spans.rs:7:1\n   |\nLL | const LEN: usize = ONE - TWO;\n   | ^^^^^^^^^^^^^^^^^^^---------^\n   |                    |\n   |                    attempt to subtract with overflow\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-len-underflow-separate-spans.rs","byte_start":342,"byte_end":345,"line_start":11,"line_end":11,"column_start":17,"column_end":20,"is_primary":true,"text":[{"text":"    let a: [i8; LEN] = unimplemented!();","highlight_start":17,"highlight_end":20}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-len-underflow-separate-spans.rs:11:17\n   |\nLL |     let a: [i8; LEN] = unimplemented!();\n   |                 ^^^ referenced constant has errors\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-len-underflow-separate-spans.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/consts/const-len-underflow-separate-spans.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-len-underflow-subspans.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 3    |
[01:00:58] 3    |
[01:00:58] 4 LL |     let a: [i8; ONE - TWO] = unimplemented!();
[01:00:58] 5    |                 ^^^^^^^^^ attempt to subtract with overflow
[01:00:58] +    |
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 6 
---
[01:00:58] 10 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-len-underflow-subspans/const-len-underflow-subspans.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args consts/const-len-underflow-subspans.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-len-underflow-subspans.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-len-underflow-subspans/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-len-underflow-subspans/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-len-underflow-subspans.rs","byte_start":183,"byte_end":192,"line_start":8,"line_end":8,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":"    let a: [i8; ONE - TWO] = unimplemented!();","highlight_start":17,"highlight_end":26}],"label":"attempt to subtract with overflow","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-len-underflow-subspans.rs:8:17\n   |\nLL |     let a: [i8; ONE - TWO] = unimplemented!();\n   |                 ^^^^^^^^^ attempt to subtract with overflow\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-len-underflow-subspans.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/consts/const-len-underflow-subspans.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-tup-index-span.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] 7    = note: expected type `(usize,)`
[01:00:58] 8 ormat" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-tup-index-span/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-tup-index-span/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-tup-index-span.rs","byte_start":47,"byte_end":59,"line_start":3,"line_end":3,"column_start":23,"column_end":35,"is_primary":true,"text":[{"text":"const TUP: (usize,) = 5usize << 64;","highlight_start":23,"highlight_end":35}],"label":"expected tuple, found usize","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `(usize,)`\n   found type `usize`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-tup-index-span.rs:3:23\n   |\nLL | const TUP: (usize,) = 5usize << 64;\n   |                       ^^^^^^^^^^^^ expected tuple, found usize\n   |\n   = note: expected type `(usize,)`\n              found type `usize`\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-tup-index-span.rs","byte_start":139,"byte_end":142,"line_start":6,"line_end":6,"column_start":18,"column_end":21,"is_primary":false,"text":[{"text":"const ARR: [i32; TUP.0] = [];","highlight_start":18,"highlight_end":21}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/consts/const-tup-index-span.rs","byte_start":139,"byte_end":144,"line_start":6,"line_end":6,"column_start":18,"column_end":23,"is_primary":true,"text":[{"text":"const ARR: [i32; TUP.0] = [];","highlight_start":18,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-tup-index-span.rs:6:18\n   |\nLL | const ARR: [i32; TUP.0] = [];\n   |                  ---^^\n   |                  |\n   |                  referenced constant has errors\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"For more information about this error, try `rustc --explain E0308`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0308`.\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-tup-index-span.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/consts/const-integer-bool-ops.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] 22 LL | const X: usize = 42 && 39;
[01:00:58] 24 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 27    |
[01:00:58] 27    |
[01:00:58] 28 LL | const ARR: [i32; X] = [99; 34];
[01:00:58] 
[01:00:58] 29    |                  ^ referenced constant has errors
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 30 
[01:00:58] 31 error[E0308]: mismatched types
[01:00:58] 32   --> $DIR/const-integer-bool-ops.rs:11:19
[01:00:58] 32   --> $DIR/const-integer-bool-ops.rs:11:19
[01:00:58] 
[01:00:58] 52 LL | const X1: usize = 42 || 39;
[01:00:58] 54 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 57    |
[01:00:58] 57    |
[01:00:58] 58 LL | const ARR1: [i32; X1] = [99; 47];
[01:00:58] 
[01:00:58] 82 LL | const X2: usize = -42 || -39;
[01:00:58] 84 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 87    |
[01:00:58] 87    |
[01:00:58] 88 LL | const ARR2: [i32; X2] = [99; 18446744073709551607];
[01:00:58] 
[01:00:58] 112 LL | const X3: usize = -42 && -39;
[01:00:58] 114 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 117    |
[01:00:58] 117    |
[01:00:58] 118 LL | const ARR3: [i32; X3] = [99; 6];
[01:00:58] 
[01:00:58] 124 LL | const Y: usize = 42.0 == 42.0;
[01:00:58] 126 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 129    |
[01:00:58] 129    |
[01:00:58] 130 LL | const ARRR: [i32; Y] = [99; 1];
[01:00:58] 
[01:00:58] 136 LL | consoptions" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-integer-bool-ops/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":17,"byte_end":19,"line_start":1,"line_end":1,"column_start":18,"column_end":20,"is_primary":true,"text":[{"text":"const X: usize = 42 && 39;","highlight_start":18,"highlight_end":20}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"= 42 && 39;\n   |                        ^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":17,"byte_end":25,"line_start":1,"line_end":1,"column_start":18,"column_end":26,"is_primary":true,"text":[{"text":"const X: usize = 42 && 39;","highlight_start":18,"highlight_end":26}],"label":"expected usize, found bool","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:1:18\n   |\nLL | const X: usize = 42 && 39;\n   |                  ^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/co":[{"text":"const X1: usize = 42 || 39;","highlight_start":19,"highlight_end":21}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:11:19\n   |\nLL | const X1: usize = 42 || 39;\n   |                   ^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":315,"byte_end":317,"line_start":11,"line_end":11,"column_start":25,"column_end":27,"is_primary":true,"text":[{"text":"const X1: usize = 42 || 39;","highlight_start":25,"highlight_end":27}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:11:25\n   |\nLL | const X1: usize = 42 || 39;\n   |                         ^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":309,"byte_end":317,"line_start":11,"line_end":11,"column_start":19,"column_end":27,"is_primary":true,"text":[{"text":"const X1: usize = 42 || 39;","highlight_start":19,"highlight_end":27}],"label":"expected usize, found bool","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:11:19\n   |\nLL | const X1: usize = 42 || 39;\n   |                   ^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":521,"byte_end":523,"line_start":18,"line_end":18,"column_start":19,"column_end":21,"is_primary":true,"text":[{"text":"const ARR1: [i32; X1] = [99; 47];","highlight_start":19,"highlight_end":21}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:18:19\n   |\nLL | const ARR1: [i32; X1] = [99; 47];\n   |                   ^^ referenced constant has errors\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":603,"byte_end":606,"line_start":21,"line_end":21,"column_start":19,"column_end":22,"is_primary":true,"text":[{"text":"const X2: usize = -42 || -39;","highlight_start":19,"highlight_end":22}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:21:19\n   |\nLL | const X2: usize = -42 || -39;\n   |                   ^^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":610,"byte_end":613,"line_start":21,"line_end":21,"column_start":26,"column_end":29,"is_primary":true,"text":[{"text":"const X2: usize = -42 || -39;","highlight_start":26,"highlight_end":29}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:21:26\n   |\nLL | const X2: usize = -42 || -39;\n   |                          ^^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":603,"byte_end":613,"line_start":21,"line_end":21,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"const X2: usize = ile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":917,"byte_end":920,"line_start":31,"line_end":31,"column_start":19,"column_end":22,"is_primary":true,"text":[{"text":"const X3: usize = -42 && -39;","highlight_start":19,"highlight_end":22}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:31:19\n   |\nLL | const X3: usize = -42 && -39;\n   |                   ^^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":924,"byte_end":927,"line_start":31,"line_end":31,"column_start":26,"column_end":29,"is_primary":true,"text":[{"text":"const X3: usize = -42 && -39;","highlight_start":26,"highlight_end":29}],"label":"expected bool, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"expected type `bool`\n   found type `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:31:26\n   |\nLL | const X3: usize = -42 && -39;\n   |                          ^^^ expected bool, found integer\n   |\n   = note: expected type `bool`\n              found type `{integer}`\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":917,"byte_end":927,"line_start":31,"line_end":31,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"const X3: usize = -42 && -39;","highlight_start":19,"highlight_end":29}],"label":"expected usize, found bool","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:31:19\n   |\nLL | const X3: usize = -42 && -39;\n   |                   ^^^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1131,"byte_end":1133,"line_start":38,"line_end":38,"column_start":19,"column_end":21,"is_primary":true,"text":[{"text":"const ARR3: [i32; X3] = [99; 6];","highlight_start":19,"highlight_end":21}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:38:19\n   |\nLL | const ARR3: [i32; X3] = [99; 6];\n   |                   ^^ referenced constant has errors\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1211,"byte_end":1223,"line_start":41,"line_end":41,"column_start":18,"column_end":30,"is_primary":true,"text":[{"text":"const Y: usize = 42.0 == 42.0;","highlight_start":18,"highlight_end":30}],"label":"expected usize, found bool","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:41:18\n   |\nLL | const Y: usize = 42.0 == 42.0;\n   |                  ^^^^^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1303,"byte_end":1304,"line_start":44,"line_end":44,"column_start":19,"column_end":20,"is_primary":true,"text":[{"text":"const ARRR: [i32; Y] = [99; 1];","highlight_start":19,"highlight_end":20}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:44:19\n   |\nLL | const ARRR: [i32; Y] = [99; 1];\n   |                   ^ referenced constant has errors\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1383,"byte_end":1395,"line_start":47,"line_end":47,"column_start":19,"column_end":31,"is_primary":true,"text":[{"text":"const Y1: usize = 42.0 >= 42.0;","highlight_start":19,"highlight_end":31}],"label":"expected usize, found bool","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:47:19\n   |\nLL | const Y1: usize = 42.0 >= 42.0;\n   |                   ^^^^^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1476,"byte_end":1478,"line_start":50,"line_end":50,"column_start":20,"column_end":22,"is_primary":true,"text":[{"text":"const ARRR1: [i32; Y1] = [99; 1];","highlight_start":20,"highlight_end":22}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:50:20\n   |\nLL | const ARRR1: [i32; Y1] = [99; 1];\n   |                    ^^ referenced constant has errors\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1557,"byte_end":1569,"line_start":53,"line_end":53,"column_start":19,"column_end":31,"is_primary":true,"text":[{"text":      ^^ referenced constant has errors\n\n"}
[01:00:58] {"message":"mismatched types","code":{"code":"E0308","explanation":"\nThis error occurs when the compiler was unable to infer the concrete type of a\nvariable. It can occur for several cases, the most common of which is a\nmismatch in the expected type that the compiler inferred for a variable's\ninitializing expression, and the actual type explicitly assigned to the\nvariable.\n\nFor example:\n\n```compile_fail,E0308\nlet x: i32 = \"I am not a number!\";\n//     ~~~   ~~~~~~~~~~~~~~~~~~~~\n//      |             |\n//      |    initializing expression;\n//      |    compiler infers type `&str`\n//      |\n//    type `i32` assigned to variable `x`\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1904,"byte_end":1915,"line_start":65,"line_end":65,"column_start":19,"column_end":30,"is_primary":true,"text":[{"text":"const Y4: usize = 42.0 < 42.0;","highlight_start":19,"highlight_end":30}],"label":"expected usize, found bool","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:65:19\n   |\nLL | const Y4: usize = 42.0 < 42.0;\n   |                   ^^^^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":1996,"byte_end":1998,"line_start":68,"line_end":68,"c: mismatched types\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:71:19\n   |\nLL | const Y5: usize = 42.0 != 42.0;\n   |                   ^^^^^^^^^^^^ expected usize, found bool\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/consts/const-integer-bool-ops.rs","byte_start":2170,"byte_end":2172,"line_start":74,"line_end":74,"column_start":20,"column_end":22,"is_primary":true,"text":[{"text":"const ARRR5: [i32; Y5] = [99; 0];","highlight_start":20,"highlight_end":22}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/consts/const-integer-bool-ops.rs:74:20\n   |\nLL | const ARRR5: [i32; Y5] = [99; 0];\n   |                    ^^ referenced constant has errors\n\n"}
[01:00:58] {"message":"For more information about this error, try `rustc --explain E0308`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0308`.\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] 
[01:00:58] thread '[ui] ui/consts/const-integer-bool-ops.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/erroreckout/obj/build/x86_64-unknown-linux-gnu/test/ui/error-codes/E0080/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/error-codes/E0080/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/error-codes/E0080.rs","byte_start":20,"byte_end":30,"line_start":2,"line_end":2,"column_start":9,"column_end":19,"is_primary":true,"text":[{"text":"    X = (1 << 500), //~ ERROR E0080","highlight_start":9,"highlight_end":19}],"label":"attempt to shift left with overflow","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/error-codes/E0080.rs:2:9\n   |\nLL |     X = (1 << 500), //~ ERROR E0080\n   |         ^^^^^^^^^^ attempt to shift left with overflow\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/error-codes/E0080.rs","byte_start":90,"byte_end":97,"line_start":4,"line_end":4,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":"    Y = (1 / 0) //~ ERROR E0080","highlight_start":9,"highlight_end":16}],"label":"attempt to divide by zero","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/error-codes/E0080.rs:4:9\n   |\nLL |     Y = (1 / 0) //~ ERROR E0080\n   |         ^^^^^^^ attempt to divide by zero\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/error-codes/E0080.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/error-codes/E0080.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/eval-enum.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 3    |
[01:00:58] 3    |
[01:00:58] 4 LL |     DivZero = 1/0,
[01:00:58] 
[01:00:58] 5    |               ^^^ attempt to divide by zero
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 6 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 9    |
[01:00:58] 9    |
[01:00:58] 10 LL |     RemZero = 1%0,
[01:00:58] 12 
[01:00:58] 13 error: aborting due to 2 previous errors
[01:00:58] 14 
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] - For more information about this error, try `rustc --explain E0080`.
[01:00:58] 16 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/eval-enum/eval-enum.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args eval-enum.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/eval-enum.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/eval-enum/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/eval-enum/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/eval-enum.rs","byte_start":26,"byte_end":29,"line_start":2,"line_end":2,"column_start":15,"column_end":18,"is_primary":true,"text":[{"text":"    DivZero = 1/0,","highlight_start":15,"highlight_end":18}],"label":"attempt to divide by zero","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/eval-enum.rs:2:15\n   |\nLL |     DivZero = 1/0,\n   |               ^^^ attempt to divide by zero\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/eval-enum.rs","byte_start":131,"byte_end":134,"line_start":5,"line_end":5,"column_start":15,"column_end":18,"is_primary":true,"text":[{"text":"    RemZero = 1%0,","highlight_start":15,"highlight_end":18}],"label":"attempt to calculate the remainder with a divisor of zero","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/eval-enum.rs:5:15\n   |\nLL |     RemZero = 1%0,\n   |               ^^^ attempt to calculate the remainder with a divisor of zero\n\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/eval-enum.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/eval-enum.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/infinite/infinite-recursion-const-fn.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] -   --> $DIR/infinite-recursion-const-fn.rs:3:25
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 3    |
[01:00:58] 3    |
[01:00:58] 4 LL | const fn a() -> usize { b() } //~ ERROR evaluation of constant value failed
[01:00:58] +    |                         ---
[01:00:58] 6    |                         |
[01:00:58] 7    |                         reached the configured maximum number of stack frames
[01:00:58] 7    |                         reached the configured maximum number of stack frames
[01:00:58] 8    |                         inside call to `b` at $DIR/infinite-recursion-const-fn.rs:3:25
[01:00:58] 
[01:00:58] 59    |                         inside call to `a` at $DIR/infinite-recursion-const-fn.rs:4:25
[01:00:58] 60    |                         inside call to `a` at $DIR/infinite-recursion-const-fn.rs:4:25
[01:00:58] 61 LL | const ARR: [i32; a()] = [5; 6];
[01:00:58] -    |                  --- inside call to `a` at $DIR/infinite-recursion-const-fn.rs:5:18
[01:00:58] +    |                  ^^^ inside call to `a` at $DIR/infinite-recursion-const-fn.rs:5:18
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 63 
[01:00:58] 64 error: aborting due to previous error
[01:00:58] 65 
[01:00:58] 65 
[01:00:58] 
[01:00:58] - For more information about this error, try `rustc --explain E"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn a() -> usize { b() } //~ ERROR evaluation of constant value failed","highlight_start":25,"highlight_end":28}],"label":"reached the configured maximum number of stack frames","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":74,"byte_end":77,"line_start":3,"line_end":3,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn a() -> usize { b() } //~ ERROR evaluation of constant value failed","highlight_start":25,"highlight_end":28}],"label":"inside call to `b` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:3:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","susrc/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":size { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":150,"byte_end":153,"line_start":4,"line_end":4,"column_start":25,"column_end":28,"is_primary":false,"text":[{"text":"const fn b() -> usize { a() }","highlight_start":25,"highlight_end":28}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs","byte_start":173,"byte_end":176,"line_start":5,"line_end":5,"column_start":18,"column_end":21,"is_primary":true,"text":[{"text":"const ARR: [i32; a()] = [5; 6];","highlight_start":18,"highlight_end":21}],"label":"inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:5:18","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:5:18\n   |\nLL | const fn a() -> usize { b() } //~ ERROR evaluation of constant value failed\n   |                         ---\n   |                         |\n   |                         reached the configured maximum number of stack frames\n   |                         inside call to `b` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:3:25\nLL | const fn b() -> usize { a() }\n   |                         ---\n   |                         |\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/uit/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\n   |                         inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:4:25\nLL | const ARR: [i32; a()] = [5; 6];\n   |                  ^^^ inside call to `a` at /checkout/src/test/ui/infinite/infinite-recursion-const-fn.rs:5:18\n   |\n   = note: #[deny(const_err)] on by default\n\n"}[01:00:58] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:502:22
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] thread '[ui] ui/infinite/infinite-recursion-const-fn.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] thread '[ui] ui/infinite/infinite-recursion-const-fn.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/issues/issue-39559-2.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] 4 LL |     let array: [usize; Dim3::dim()]
[01:00:58] 6 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 9    |
[01:00:58] 9    |
[01:00:58] 10 LL |     let array: [usize; Dim3::dim()]
[01:00:58] 
[01:00:58] 11    |                        ^^^^^^^^^^^ calling non-const function `<Dim3 as Dim>::dim`
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 12 
[01:00:58] 12 
[01:00:58] 13 error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants
[01:00:58] 
[01:00:58] 
[01:00:58] 16 LL |         = [0; Dim3::dim()];
[01:00:58] 18 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 21    |
[01:00:58] 21    |
[01:00:58] 22 LL |         = [0; Dim3::dim()];
[01:00:58] 24 
[01:00:58] 25 error: aborting due to 4 previous errors
[01:00:58] 26 
[01:00:58] - Some errors occurred: E0015, E0080.
[01:00:58] - Some errors occurred: E0015, E0080.
[01:00:58] - For more information about an error, try `rustc --explain E0015`.
[01:00:58] + For more information about this error, try `rustc --explain E0015`.
[01:00:58] 29 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-39559-2/issue-39559-2.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args issues/issue-39559-2.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-39559-2.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-39559-2/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-39559-2/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"calls in constants are limited to constant functions, tuple structs and tuple variants","code":{"code":"E0015","explanation":"\nThe only functions that can be called in static or constant expressions are\n`const` functions, and struct/enum constructors. `const` functions are only\navailable on a nightly compiler. Rust currently does not support more general\ncompile-time function execution.\n\n```\nconst FOO: Option<u8> = Some(1); // enum constructor\nstruct Bar {x: u8}\nconst BAR: Bar = Bar {x: 1}; // struct constructor\n```\n\nSee [RFC 911] for more details on the design of `const fn`s.\n\n[RFC 911]: https://github.com/rust-lang/rfcs/blob/master/text/0911-const-fn.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-39559-2.rs","byte_start":150,"byte_end":161,"line_start":14,"line_end":14,"column_start":24,"column_end":35,"is_primary":true,"text":[{"text":"    let array: [usize; Dim3::dim()]","highlight_start":24,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants\n  --> /checkout/src/test/ui/issues/issue-39559-2.rs:14:24\n   |\nLL |     let array: [usize; Dim3::dim()]\n   |                        ^^^^^^^^^^^\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-39559-2.rs","byte_start":150,"byte_end":161,"line_start":14,"line_end":14,"column_start":24,"column_end":35,"is_primary":true,"text":[{"text":"    let array: [usize; Dim3::dim()]","highlight_start":24,"highlight_end":35}],"label":"calling non-const function `<Dim3 as Dim>::dim`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/issues/issue-39559-2.rs:14:24\n   |\nLL |     let array: [usize; Dim3::dim()]\n   |                        ^^^^^^^^^^^ calling non-const function `<Dim3 as Dim>::dim`\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"calls in constants are limited to constant functions, tuple structs and tuple variants","code":{"code":"E0015","explanation":"\nThe only functions that can be called in static or constant expressions are\n`const` functions, and struct/enum constructors. `const` functions are only\navailable on a nightly compiler. Rust currently does not support more general\ncompile-time function execution.\n\n```\nconst FOO: Option<u8> = Some(1); // enum constructor\nstruct Bar {x: u8}\nconst BAR: Bar = Bar {x: 1}; // struct constructor\n```\n\nSee [RFC 911] for more details on the design of `const fn`s.\n\n[RFC 911]: https://github.com/rust-lang/rfcs/blob/master/text/0911-const-fn.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-39559-2.rs","byte_start":219,"byte_end":230,"line_start":17,"line_end":17,"column_start":15,"column_end":26,"is_primary":true,"text":[{"text":"        = [0; Dim3::dim()];","highlight_start":15,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants\n  --> /checkout/src/test/ui/issues/issue-39559-2.rs:17:15\n   |\nLL |         = [0; Dim3::dim()];\n   |               ^^^^^^^^^^^\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-39559-2.rs","byte_start":219,"byte_end":230,"line_start":17,"line_end":17,"column_start":15,"column_end":26,"is_primary":true,"text":[{"text":"        = [0; Dim3::dim()];","highlight_start":15,"highlight_end":26}],"label":"calling non-const function `<Dim3 as Dim>::dim`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/issues/issue-39559-2.rs:17:15\n   |\nLL |         = [0; Dim3::dim()];\n   |               ^^^^^^^^^^^ calling non-const function `<Dim3 as Dim>::dim`\n\n"}
[01:00:58] {"message":"For more information about this error, try `rustc --explain E0015`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0015`.\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
---
[01:00:58] 
[01:00:58] 6    |
[01:00:58] 7    = note: an implementation of `std::ops::Add` might be missing for `&str`
[01:00:58] 8 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 11    |
[01:00:58] 11    |
[01:00:58] 12 LL |     A = Foo::A as isize
[01:00:58] 
[01:00:58] 13    |         ^^^^^^^^^^^^^^^ referenced constant has errors
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 14 
[01:00:58] 15 error: aborting due to 2 previous errors
[01:00:58] 16 
[01:00:58] 16 
[01:00:58] 
[upport it.\nErroneous code example:\n\n```compile_fail,E0369\nlet x = 12f32; // error: binary operation `<<` cannot be applied to\n               //        type `f32`\n\nx << 2;\n```\n\nTo fix this error, please check that this type implements this binary\noperation. Example:\n\n```\nlet x = 12u32; // the `u32` type does implement it:\n               // https://doc.rust-lang.org/stable/std/ops/trait.Shl.html\n\nx << 2; // ok!\n```\n\nIt is also possible to overload most operators for your own type by\nimplementing traits from `std::ops`.\n\nString concatenation appends the string on the right to the string on the\nleft and may require reallocation. This requires ownership of the string\non the left. If something should be added to a string literal, move the\nliteral to the heap by allocating it with `to_owned()` like in\n`\"Your text\".to_owned()`.\n\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-41394.rs","byte_start":19,"byte_end":25,"line_start":2,"line_end":2,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"    A = \"\" + 1","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"an implementation of `std::ops::Add` might be missing for `&str`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0369]: binary operation `+` cannot be applied to type `&str`\n  --> /checkout/src/test/ui/issues/issue-41394.rs:2:9\n   |\nLL |     A = \"\" + 1\n   |         ^^^^^^\n   |\n   = note: an implementation of `std::ops::Add` might be missing for `&s | use std::f64::consts::LOG10_2;
[01:00:58] 12 
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 15    |
[01:00:58] 15    |
[01:00:58] 16 LL |     let mut digits = [0u32; M];
[01:00:58] 
[01:00:58] 17    |                             ^ referenced constant has errors
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 18 
[01:00:58] 19 error: aborting due to 2 previous errors
[01:00:58] 20 
---
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-50599/issue-50599.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args issues/issue-50599.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-50599.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-50599/a" "-Crpath" "-O" "-Zunstable.\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-50599.rs","byte_start":85,"byte_end":92,"line_start":3,"line_end":3,"column_start":48,"column_end":55,"is_primary":true,"text":[{"text":"    const M: usize = (f64::from(N) * std::f64::LOG10_2) as usize; //~ ERROR cannot find value","highlight_start":48,"highlight_end":55}],"label":"not found in `std::f64`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"possible candidates are found in other modules, you can import them into scope","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-50599.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"fn main() {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::f32::consts::LOG10_2;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-50599.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"fn main() {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::f64::consts::LOG10_2;\n\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0425]: cannot find value `LOG10_2` in module `std::f64`\n  --> /checkout/src/test/ui/issues/issue-50599.rs:3:48\n   |\nLL |     const M: usize = (f64::from(N) * std::f64::LOG10_2) as usize; //~ ERROR cannot find value\n   |                                                ^^^^^^^ not found in `std::f64`\nhelp: possible candidates are found in other modules, you can import them into scope\n   |\nLL | use std::f32::consts::LOG10_2;\n   |\nLL | use std::f64::consts::LOG10_2;\n   |\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-50599.rs","byte_start":160,"byte_end":161,"line_start":4,"line_end":4,"column_start":29,"column_end":30,"is_primary":true,"text":[{"text":"    let mut digits = [0u32; M];","highlight_start":29,"highlight_end":30}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(const_err)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: any use of this value will cause an error\n  --> /checkout/src/test/ui/issues/issue-50599.rs:4:29\n   |\nLL |     let mut digits = [0u32; M];\n   |                             ^ referenced constant has errors\n   |\n   = note: #[deny(const_err)] on by default\n\n"}
[01:00:58] {"message":"For more information about this error, try `rustc --explain E0425`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0425`.\n"}
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] 
[01:00:58] thread '[ui] ui/issues/issue-50599.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:00:58] 
[01:00:58] ---- [ui] ui/type/type-dependent-def-issue-49241.rs stdout ----
[01:00:58] diff of stderr:
[01:00:58] 
[01:00:58] 6    |
[01:00:58] 7    = help: use the `|| { ... }` closure form instead
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] - error[E0080]: evaluation of constant value failed
[01:00:58] + error: any use of this value will cause an error
[01:00:58] 11    |
[01:00:58] 11    |
[01:00:58] 12 LL |     let s: [u32; l] = v.into_iter().collect();
[01:00:58] 
[01:00:58] 13    |                  ^ referenced constant has errors
[01:00:58] +    = note: #[deny(const_err)] on by default
[01:00:58] 14 
[01:00:58] 15 error: aborting due to 2 previous errors
[01:00:58] 16 
---
[01:00:58] 19 
[01:00:58] 
[01:00:58] 
[01:00:58] The actual stderr differed from the expected stderr.
[01:00:58] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type/type-dependent-def-issue-49241/type-dependent-def-issue-49241.stderr
[01:00:58] To update references, rerun the tests and pass the `--bless` flag
[01:00:58] To only update this specific test, also pass `--test-args type/type-dependent-def-issue-49241.rs`
[01:00:58] error: 1 errors occurred comparing output.
[01:00:58] status: exit code: 1
[01:00:58] status: exit code: 1
[01:00:58] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/type/type-dependent-def-issue-49241.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type/type-dependent-def-issue-49241/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type/type-dependent-def-issue-49241/auxiliary" "-A" "unused"
[01:00:58] ------------------------------------------
[01:00:58] 
[01:00:58] ------------------------------------------
[01:00:58] stderr:
[01:00:58] stderr:
[01:00:58] ------------------------------------------
[01:00:58] {"message":"can't capture dynamic environment in a fn item","code":{"code":"E0434","explanation":"\nThis error indicates that a variable usage inside an inner function is invalid\nbecause the variable comes from a dynamic environment. Inner functions do not\nhave access to their containing environment.\n\nErroneous code example:\n\n```compile_fail,E0434\nfn foo() {\n    let y = 5;\n    fn bar() -> u32 {\n        y // error: can't capture dynamic environment in a fn item; use the\n          //        || { ... } closure form instead.\n    }\n}\n```\n\nFunctions do not capture local variables. To fix this error, you can replace the\nfunction with a closure:\n\n```\nfn foo() {\n    let y = 5;\n    let bar = || {\n        y\n    };\n}\n```\n\nor replace the captured variable with a constant or a static item:\n\n```\nfn foo() {\n    static mut X: u32 = 4;\n    const Y: u32 = 5;\n    fn bar() -> u32 {\n        unsafe {\n            X = 3;\n        }\n        Y\n    }\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/type/type-dependent-def-issue-49241.rs","byte_start":54,"byte_end":55,"line_start":3,"line_end":3,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":"    const l: usize = v.count(); //~ ERROR can't capture dynamic environment in a fn item","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"use the `|| { ... }` closure form instead","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0434]: can't capture dynamic environment in a fn item\n  --> /checkout/src/test/ui/type/type-dependent-def-issue-49241.rs:3:22\n   |\nLL |     const l: usize = v.count(); //~ ERROR can't capture dynamic environment in a fn item\n   |                      ^\n   |\n   = help: use the `|| { ... }` closure form instead\n\n"}
[01:00:58] {"message":"any use of this value will cause an error","code":{"code":"const_err","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/type/type-dependent-def-issue-49241.rs","byte_start":139,"byte_end":140,"line_start":4,"line_end":4,"column_start":18,"column_end":19,"is_primary":true,"text":[{"text":"    let s: [u32; l] = v.into_iter().collect();","highlight_start":18,"highlight_end":19}],"label":"referenced constant has errors","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"chil/const-len-underflow-separate-spans.rs
[01:00:58]     [ui] ui/consts/const-tup-index-span.rs
[01:00:58]     [ui] ui/error-codes/E0080.rs
[01:00:58]     [ui] ui/eval-enum.rs
[01:00:58]     [ui] ui/infinite/infinite-recursion-const-fn.rs
---
[01:00:58] test result: FAILED. 5320 passed; 19 failed; 23 ignored; 0 measured; 0 filtered out
[01:00:58] 
[01:00:58] 
[01:00:58] 
[01:00:58] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:00:58] 
[01:00:58] 
[01:00:58] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:00:58] Build completed unsuccessfully in 0:04:21
[01:00:58] Build completed unsuccessfully in 0:04:21
[01:00:58] make: *** [check] Error 1
[01:00:58] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:001b65e0
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Feb  3 15:27:19 UTC 2019
---
travis_time:end:378a11c4:start=1549207641200001366,finish=1549207641207446288,duration=7444922
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:14d87b4c
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:171663b7
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@RalfJung RalfJung changed the title WIP: Make -Zdump-mir dump shims Make -Zdump-mir dump shims Feb 5, 2019

@RalfJung

This comment has been minimized.

Copy link
Member Author

RalfJung commented Feb 5, 2019

With some help for @eddyb, this is working now. :)

PR is ready for review.

@eddyb

This comment has been minimized.

Copy link
Member

eddyb commented Feb 5, 2019

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 5, 2019

📌 Commit 53a4bb1 has been approved by eddyb

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Feb 5, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:1c918220:start=1549400438115776704,finish=1549400552148568528,duration=114032791824
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:09:20] 
[01:09:20] running 38 tests
[01:09:39] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:502:22
[01:09:39] .........F.F...............F..........
[01:09:39] 
[01:09:39] ---- [mir-opt] mir-opt/inline-closure-borrows-arg.rs stdout ----
[01:09:39] 
[01:09:39] error: compilation failed!
[01:09:39] error: compilation failed!
[01:09:39] status: exit code: 101
[01:09:39] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/mir-opt/inline-closure-borrows-arg.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "-Zdump-mir=all" "-Zmir-opt-level=3" "-Zdump-mir-exclude-pass-number" "-Zdump-mir-dir=/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure-borrows-arg" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure-borrows-arg/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "span_free_formats" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure-borrows-arg/auxiliary"
[01:09:39] ------------------------------------------
[01:09:39] 
[01:09:39] ------------------------------------------
[01:09:39] stderr:
---
[01:09:39] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[01:09:39] 
[01:09:39] note: rustc 1.34.0-dev running on x86_64-unknown-linux-gnu
[01:09:39] 
[01:09:39] note: compiler flags: -Z threads=1 -Z dump-mir=all -Z mir-opt-level=3 -Z dump-mir-exclude-pass-number -Z dump-mir-dir=/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure-borrows-arg -Z unstable-options -Z span_free_formats -C prefer-dynamic -C rpath
[01:09:39] 
[01:09:39] ------------------------------------------
[01:09:39] 
[01:09:39] thread '[mir-opt] mir-opt/inline-closure-borrows-arg.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:09:39] thread '[mir-opt] mir-opt/inline-closure-borrows-arg.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:09:39] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:09:39] 
[01:09:39] ---- [mir-opt] mir-opt/inline-closure.rs stdout ----
[01:09:39] 
[01:09:39] error: compilation failed!
[01:09:39] status: exit code: 101
[01:09:39] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/mir-opt/inline-closure.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "-Zdump-mir=all" "-Zmir-opt-level=3" "-Zdump-mir-exclude-pass-number" "-Zdump-mir-dir=/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "span_free_formats" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure/auxiliary"
[01:09:39] ------------------------------------------
[01:09:39] 
[01:09:39] ------------------------------------------
[01:09:39] stderr:
---
[01:09:39] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[01:09:39] 
[01:09:39] note: rustc 1.34.0-dev running on x86_64-unknown-linux-gnu
[01:09:39] 
[01:09:39] note: compiler flags: -Z threads=1 -Z dump-mir=all -Z mir-opt-level=3 -Z dump-mir-exclude-pass-number -Z dump-mir-dir=/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/inline-closure -Z unstable-options -Z span_free_formats -C prefer-dynamic -C rpath
[01:09:39] 
[01:09:39] ------------------------------------------
[01:09:39] 
[01:09:39] thread '[mir-opt] mir-opt/inline-closure.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:09:39] thread '[mir-opt] mir-opt/inline-closure.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:09:39] 
[01:09:39] ---- [mir-opt] mir-opt/retag.rs stdout ----
[01:09:39] 
[01:09:39] error: compilation failed!
[01:09:39] status: exit code: 101
[01:09:39] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/mir-opt/retag.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "-Zdump-mir=all" "-Zmir-opt-level=3" "-Zdump-mir-exclude-pass-number" "-Zdump-mir-dir=/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/retag" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/retag/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "mir-emit-retag" "-Z" "mir-opt-level=0" "-Z" "span_free_formats" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/retag/auxiliary"
[01:09:39] ------------------------------------------
[01:09:39] 
[01:09:39] ------------------------------------------
[01:09:39] stderr:
---
[01:09:39] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[01:09:39] 
[01:09:39] note: rustc 1.34.0-dev running on x86_64-unknown-linux-gnu
[01:09:39] 
[01:09:39] note: compiler flags: -Z threads=1 -Z dump-mir=all -Z mir-opt-level=3 -Z dump-mir-exclude-pass-number -Z dump-mir-dir=/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/retag -Z unstable-options -Z mir-emit-retag -Z mir-opt-level=0 -Z span_free_formats -C prefer-dynamic -C rpath
[01:09:39] 
[01:09:39] ------------------------------------------
[01:09:39] 
[01:09:39] thread '[mir-opt] mir-opt/retag.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
---
[01:09:39] test result: FAILED. 35 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out
[01:09:39] 
[01:09:39] 
[01:09:39] 
[01:09:39] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/mir-opt" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "mir-opt" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:09:39] 
[01:09:39] 
[01:09:39] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:09:39] Build completed unsuccessfully in 0:11:30
[01:09:39] Build completed unsuccessfully in 0:11:30
[01:09:39] make: *** [check] Error 1
[01:09:39] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0617ac48
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Feb  5 22:12:20 UTC 2019
---
travis_time:end:23549ac0:start=1549404741764474738,finish=1549404741769243653,duration=4768915
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:178a6a70
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:00012129
travis_time:start:00012129
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0a907da0
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@RalfJung

This comment has been minimized.

Copy link
Member Author

RalfJung commented Feb 5, 2019

@bors r-

investigating

@eddyb

This comment has been minimized.

Copy link
Member

eddyb commented Feb 5, 2019

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 5, 2019

📌 Commit 26df5bd has been approved by eddyb

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 9, 2019

☔️ The latest upstream changes (presumably #58316) made this pull request unmergeable. Please resolve the merge conflicts.

@RalfJung RalfJung force-pushed the RalfJung:mir-shim-dump branch from 26df5bd to 544b3a1 Feb 9, 2019

@RalfJung

This comment has been minimized.

Copy link
Member Author

RalfJung commented Feb 9, 2019

Rebased.

@bors r=eddyb

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 9, 2019

📌 Commit 544b3a1 has been approved by eddyb

Mark-Simulacrum added a commit to Mark-Simulacrum/rust that referenced this pull request Feb 10, 2019

Rollup merge of rust-lang#58103 - RalfJung:mir-shim-dump, r=eddyb
Make -Zdump-mir dump shims

Fixes rust-lang#53532 by (a) making the MIR shim generation use the MIR pass infrastructure, and (b) fixing said infrastructure to handle the fallout.

Cc @eddyb @oli-obk

bors added a commit that referenced this pull request Feb 10, 2019

Auto merge of #58338 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 17 pull requests

Successful merges:

 - #57259 (Update reference of rlibc crate to compiler-builtins crate)
 - #57740 (Use `to_ne_bytes` for converting IPv4Addr to octets)
 - #58085 (Implement more detailed self profiling)
 - #58103 (Make -Zdump-mir dump shims)
 - #58129 (MaybeUninit: some docs, rename into_inner -> into_initialized, return &mut from set)
 - #58151 (Partially HirId-ify rustc)
 - #58152 (Partially HirIdify mir)
 - #58153 (Partially Hiridify typeck)
 - #58203 (rustdoc: display sugared return types for async functions)
 - #58258 (Reduce the size of `hir::Expr`.)
 - #58262 (Add #[must_use] message to Fn* traits)
 - #58272 (Cut down on number formating code size)
 - #58276 (Improve the error messages for missing stability attributes)
 - #58295 (std::sys::unix::stdio: explain why we do into_raw)
 - #58297 (Cleanup JS a bit)
 - #58300 (librustc_typeck => 2018)
 - #58332 (operand-to-place copies should never be overlapping)

Failed merges:

 - #58167 (HirId-ify hir::BodyId)

r? @ghost
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 10, 2019

⌛️ Testing commit 544b3a1 with merge de111e6...

bors added a commit that referenced this pull request Feb 10, 2019

Auto merge of #58103 - RalfJung:mir-shim-dump, r=eddyb
Make -Zdump-mir dump shims

Fixes #53532 by (a) making the MIR shim generation use the MIR pass infrastructure, and (b) fixing said infrastructure to handle the fallout.

Cc @eddyb @oli-obk
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 10, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: eddyb
Pushing de111e6 to master...

@bors bors added the merged-by-bors label Feb 10, 2019

@bors bors merged commit 544b3a1 into rust-lang:master Feb 10, 2019

1 check passed

homu Test successful
Details

@RalfJung RalfJung deleted the RalfJung:mir-shim-dump branch Feb 17, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.