crab1: note: Preparing to parse files.
crab1: note: Attempting to parse file: /tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs
crab1: note: skipped left angle in generic param
crab1: note: finished parsing actual generic params (i.e. inside angles)
crab1: note: beginning null denotation identifier handling
crab1: note: parsing null denotation after path
crab1: note: skipped left angle in generic param
crab1: note: finished parsing actual generic params (i.e. inside angles)
crab1: note: successfully parsed inherent impl
crab1: note: inferred crate name: mvce
crab1: note: �[0;31mSUCCESSFULLY PARSED CRATE �[0m
crab1: note: ran register_plugins (with no body)
crab1: note: �[0;31mSUCCESSFULLY REGISTERED PLUGINS �[0m
crab1: note: started injection
crab1: note: finished injection
crab1: note: �[0;31mSUCCESSFULLY FINISHED INJECTION �[0m
crab1: note: started expansion
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: str, v: (S)[] (NS)[68] (G)[]
crab1: note: current_rib: k: char, v: (S)[] (NS)[67] (G)[]
crab1: note: current_rib: k: isize, v: (S)[] (NS)[66] (G)[]
crab1: note: current_rib: k: u8, v: (S)[] (NS)[53] (G)[]
crab1: note: current_rib: k: u64, v: (S)[] (NS)[56] (G)[]
crab1: note: current_rib: k: u16, v: (S)[] (NS)[54] (G)[]
crab1: note: current_rib: k: u32, v: (S)[] (NS)[55] (G)[]
crab1: note: current_rib: k: i16, v: (S)[] (NS)[59] (G)[]
crab1: note: current_rib: k: !, v: (S)[] (NS)[69] (G)[]
crab1: note: current_rib: k: u128, v: (S)[] (NS)[57] (G)[]
crab1: note: current_rib: k: bool, v: (S)[] (NS)[52] (G)[]
crab1: note: current_rib: k: i32, v: (S)[] (NS)[60] (G)[]
crab1: note: current_rib: k: f32, v: (S)[] (NS)[63] (G)[]
crab1: note: current_rib: k: i8, v: (S)[] (NS)[58] (G)[]
crab1: note: current_rib: k: i64, v: (S)[] (NS)[61] (G)[]
crab1: note: current_rib: k: i128, v: (S)[] (NS)[62] (G)[]
crab1: note: current_rib: k: usize, v: (S)[] (NS)[65] (G)[]
crab1: note: current_rib: k: f64, v: (S)[] (NS)[64] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(29 [Problem]): existed? no
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(44 [<anon>]): existed? no
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? no
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? no
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: popping link
crab1: note: new cursor: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: new cursor: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: popping link
crab1: note: popping link
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: popping link
crab1: note: new cursor: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: new cursor: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: popping link
crab1: note: popping link
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: popping link
crab1: note: new cursor: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: new cursor: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: popping link
crab1: note: popping link
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: popping link
crab1: note: new cursor: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: new cursor: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: popping link
crab1: note: popping link
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: popping link
crab1: note: new cursor: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: new cursor: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: finished expansion
crab1: note: �[0;31mSUCCESSFULLY FINISHED EXPANSION �[0m
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: inserting link: Link(29 [Problem]): existed? yes
crab1: note: resolving ::u8
crab1: note: resolving ::Problem::C
crab1: note: resolving ::Problem::C
crab1: note: popping link
crab1: note: popping link
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: resolving ::Problem
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(44 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: inserting link: Link(43 [<anon>]): existed? yes
crab1: note: resolving ::usize
crab1: note: popping link
crab1: note: new cursor: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: C, v: (S)[] (NS)[43] (G)[]
crab1: note: popping link
crab1: note: new cursor: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: popping link
crab1: note: current_rib: k: Self, v: (S)[] (NS)[37] (G)[]
crab1: note: new cursor: k: Problem, v: (S)[] (NS)[29] (G)[]
crab1: note: popping link
crab1: note: popping link
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:2:19: note: root resolved type-path to: [u8]
2 | pub dat: &'a [u8; Problem::C],
| ^~
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:1:5: note: resolved item {31} to
1 | pub struct Problem<'a> {
| ^~~~~~
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:2:23: error: cannot find value ‘Problem::C’ in this scope [E0425]
2 | pub dat: &'a [u8; Problem::C],
| ^~~~~~~
crab1: note: add_type_constraints: Problem{Problem {dat:& <tyty::error>}}
crab1: note: add_constraint_from_ty: & <tyty::error> with v=+
crab1: note: add_constraint: +
crab1: note: add_constraint_from_ty: <tyty::error> with v=+
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:5:1: note: resolved impl block type {35} to
5 | impl<'a> Problem<'a> {
| ^~~~
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:5:10: note: root resolved type-path to: [Problem]
5 | impl<'a> Problem<'a> {
| ^~~~~~~
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:5:1: note: begin unify_site_and commit false infer true check_bounds true id={0} expected={Problem} expr={Problem}
5 | impl<'a> Problem<'a> {
| ^~~~
crab1: note: unify::go ltype={Problem} rtype={Problem}
crab1: note: unify::go ltype={& <tyty::error>} rtype={& <tyty::error>}
crab1: note: unify::go ltype={<tyty::error>} rtype={<tyty::error>}
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:5:1: note: unify_site_and done ok=false commit false infer true id={0} expected={Problem} expr={Problem}
5 | impl<'a> Problem<'a> {
| ^~~~
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:2:32: error: failed to resolve path segment using an impl Probe
2 | pub dat: &'a [u8; Problem::C],
| ^
crab1: note: add_type_constraints: Problem{Problem {dat:& <tyty::error>}}
crab1: note: add_constraint_from_ty: & <tyty::error> with v=+
crab1: note: add_constraint: +
crab1: note: add_constraint_from_ty: <tyty::error> with v=+
/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs:6:14: note: root resolved type-path to: [usize]
6 | const C: usize = 0;
| ^~~~~
crab1: note: unify_site id={40} expected={usize} expr={<integer>}
crab1: note: unify::go ltype={usize} rtype={<integer>}
crab1: note: Variance analysis solving started:
crab1: note: Variance analysis results:
crab1: internal compiler error: in as_string, at rust/typecheck/rust-tyty-variance-analysis.cc:125
0x32edd17 internal_error(char const*, ...)
../../gcc/diagnostic-global-context.cc:787
0xc847b9 fancy_abort(char const*, int, char const*)
../../gcc/diagnostics/context.cc:1813
0x921da5 Rust::TyTy::VarianceAnalysis::Variance::as_string[abi:cxx11]() const
../../gcc/rust/typecheck/rust-tyty-variance-analysis.cc:125
0x921da5 Rust::TyTy::VarianceAnalysis::Variance::as_string[abi:cxx11]() const
../../gcc/rust/typecheck/rust-tyty-variance-analysis.cc:112
0x107734f Rust::TyTy::VarianceAnalysis::GenericTyPerCrateCtx::debug_print_solutions()
../../gcc/rust/typecheck/rust-tyty-variance-analysis.cc:195
0xecc411 Rust::Session::compile_crate(char const*)
../../gcc/rust/rust-session-manager.cc:810
/home/matthias/vcs/github/gccrs/gccrs-build/gcc/crab1 /tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/mvce.rs -o/tmp/icemaker_global_tempdir.dOHUSECYKF5i/rustc_testrunner_tmpdir_reporting.OSmGrfUfVM9J/binaryname -frust-debug -frust-incomplete-and-experimental-compiler-do-not-use -frust-crate-attr=no_core -frust-crate-attr=feature(no_core)
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
auto-reduced (treereduce-rust):
original:
Version information:
c539964
Possibly related line of code:
gccrs/gcc/rust/typecheck/rust-tyty-variance-analysis.cc
Lines 119 to 131 in c539964
Command:
/home/matthias/vcs/github/gccrs/gccrs-build/gcc/crab1 -frust-debug -frust-incomplete-and-experimental-compiler-do-not-use -frust-crate-attr=no_core -frust-crate-attr=feature(no_core)Program output