Skip to content

ICE in is_refutable, at rust/hir/tree/rust-hir-pattern-abstract.cc:103 #4737

Description

@matthiaskrgr

snippet:

//@compile-flags: -frust-incomplete-and-experimental-compiler-do-not-use -frust-crate-attr=no_core
fn main() {
    let &[0] = &[0] as &[_];
}

Version information:

c539964

Possibly related line of code:

= static_cast<const SlicePatternItemsHasRest &> (*items);
if (items_has_rest.get_lower_patterns ().empty ()
&& items_has_rest.get_upper_patterns ().empty ())
return false;
}
rust_assert (scrutinee.get_kind () == TyTy::TypeKind::ARRAY);
const auto &arr = static_cast<const TyTy::ArrayType &> (scrutinee);
switch (items->get_item_type ())
{
case SlicePatternItems::ItemType::NO_REST:
{
const auto &items_no_rest

Command:
/home/matthias/vcs/github/gccrs/gccrs-build/gcc/crab1 -frust-incomplete-and-experimental-compiler-do-not-use -frust-crate-attr=no_core -frust-crate-attr=feature(no_core)

Program output

crab1: internal compiler error: in is_refutable, at rust/hir/tree/rust-hir-pattern-abstract.cc:103
0x32edd17 internal_error(char const*, ...)
	../../gcc/diagnostic-global-context.cc:787
0xc847b9 fancy_abort(char const*, int, char const*)
	../../gcc/diagnostics/context.cc:1813
0x92802c Rust::HIR::SlicePattern::is_refutable(Rust::TyTy::BaseType const&) const
	../../gcc/rust/hir/tree/rust-hir-pattern-abstract.cc:103
0x1199a59 Rust::Analysis::PatternChecker::visit(Rust::HIR::LetStmt&)
	../../gcc/rust/checks/errors/rust-hir-pattern-analysis.cc:702
0x1199593 Rust::Analysis::PatternChecker::visit(Rust::HIR::BlockExpr&)
	../../gcc/rust/checks/errors/rust-hir-pattern-analysis.cc:281
0x119a4e3 Rust::Analysis::PatternChecker::go(Rust::HIR::Crate&)
	../../gcc/rust/checks/errors/rust-hir-pattern-analysis.cc:46
0xecc43b Rust::Session::compile_crate(char const*)
	../../gcc/rust/rust-session-manager.cc:815
/home/matthias/vcs/github/gccrs/gccrs-build/gcc/crab1 /tmp/icemaker_global_tempdir.B2FG2Wbdt9GO/rustc_testrunner_tmpdir_reporting.GUJy1iwKCpJK/mvce.rs -o/tmp/icemaker_global_tempdir.B2FG2Wbdt9GO/rustc_testrunner_tmpdir_reporting.GUJy1iwKCpJK/binaryname -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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions