Skip to content

ICE: in visit, at rust/typecheck/rust-hir-type-check-enumitem.cc:264 #3666

Open
@matthiaskrgr

Description

@matthiaskrgr

auto-reduced (treereduce-rust):

//@compile-flags: -frust-incomplete-and-experimental-compiler-do-not-use
enum E {
    A = {
        enum F {
            Foo { a: usize, b: usize },
            Bar(usize, usize),
        }
        0
    },
}

original:

// check-pass

enum E {
    A = {
        enum F {
    Foo { a: usize, b: usize },
    Bar(usize, usize),
}
        0
    }
}

fn main() {}

Version information:

7651217

Possibly related line of code:

else
{
canonical_path
= mappings.lookup_canonical_path (item.get_mappings ().get_nodeid ());
}
rust_assert (canonical_path.has_value ());
RustIdent ident{*canonical_path, item.get_locus ()};
variant = new TyTy::VariantDef (item.get_mappings ().get_hirid (),
item.get_mappings ().get_defid (),
item.get_identifier ().as_string (), ident,
TyTy::VariantDef::VariantType::STRUCT,

Command:
/home/matthias/vcs/github/gccrs/gccrs-build/gcc/crab1 -frust-incomplete-and-experimental-compiler-do-not-use

Program output

/tmp/icemaker_global_tempdir.NKudfJBTYGQf/rustc_testrunner_tmpdir_reporting.oMNH8yGXHhE2/mvce.rs:4:22: error: unknown reference for resolved name: ‘usize’
    4 |             Foo { a: usize, b: usize },
      |                      ^~~~~
/tmp/icemaker_global_tempdir.NKudfJBTYGQf/rustc_testrunner_tmpdir_reporting.oMNH8yGXHhE2/mvce.rs:4:32: error: unknown reference for resolved name: ‘usize’
    4 |             Foo { a: usize, b: usize },
      |                                ^~~~~
crab1: internal compiler error: in visit, at rust/typecheck/rust-hir-type-check-enumitem.cc:264
0x89166f Rust::Resolver::TypeCheckEnumItem::visit(Rust::HIR::EnumItemStruct&)
	../../gcc/rust/typecheck/rust-hir-type-check-enumitem.cc:264
0xfc01aa Rust::Resolver::TypeCheckEnumItem::Resolve(Rust::HIR::EnumItem&, long)
	../../gcc/rust/typecheck/rust-hir-type-check-enumitem.cc:47
0xf83021 Rust::Resolver::TypeCheckItem::visit(Rust::HIR::Enum&)
	../../gcc/rust/typecheck/rust-hir-type-check-item.cc:352
0xf7dbb7 Rust::Resolver::TypeCheckItem::Resolve(Rust::HIR::Item&)
	../../gcc/rust/typecheck/rust-hir-type-check-item.cc:59
0xfb995b ???
	../../gcc/rust/typecheck/rust-hir-type-check-stmt.h:39
0xfb9f15 Rust::Resolver::TypeCheckStmt::Resolve(Rust::HIR::Stmt&)
	../../gcc/rust/typecheck/rust-hir-type-check-stmt.cc:34
0xfaba54 Rust::Resolver::TypeCheckExpr::visit(Rust::HIR::BlockExpr&)
	../../gcc/rust/typecheck/rust-hir-type-check-expr.cc:594
0xfaa2b8 Rust::Resolver::TypeCheckExpr::Resolve(Rust::HIR::Expr&)
	../../gcc/rust/typecheck/rust-hir-type-check-expr.cc:47
0xfbc509 Rust::Resolver::TypeCheckEnumItem::visit(Rust::HIR::EnumItemDiscriminant&)
	../../gcc/rust/typecheck/rust-hir-type-check-enumitem.cc:114
0xfc018f Rust::Resolver::TypeCheckEnumItem::Resolve(Rust::HIR::EnumItem&, long)
	../../gcc/rust/typecheck/rust-hir-type-check-enumitem.cc:51
0xf83021 Rust::Resolver::TypeCheckItem::visit(Rust::HIR::Enum&)
	../../gcc/rust/typecheck/rust-hir-type-check-item.cc:352
0xf7dbb7 Rust::Resolver::TypeCheckItem::Resolve(Rust::HIR::Item&)
	../../gcc/rust/typecheck/rust-hir-type-check-item.cc:59
0xf1518b Rust::Resolver::TypeResolution::Resolve(Rust::HIR::Crate&)
	../../gcc/rust/typecheck/rust-hir-type-check.cc:75
0xce8f73 Rust::Session::compile_crate(char const*)
	../../gcc/rust/rust-session-manager.cc:685
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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions