Skip to content

NR2: ICE in visit, at rust/hir/rust-ast-lower-expr.cc:594 lowering for loop #3673

Open
@matthiaskrgr

Description

@matthiaskrgr

auto-reduced (treereduce-rust):

//@compile-flags: -frust-incomplete-and-experimental-compiler-do-not-use -frust-name-resolution-2.0
pub struct TreeBuilder<H> {
    pub h: H,
}

impl<H> TreeBuilder<H> {
    pub fn process_token(&mut self) {
        match self {
            _ => for _y in self.by_ref() {},
        }
    }
}

original:

#![crate_type = "lib"]

pub struct TreeBuilder<H> { pub h: H }

impl<H> TreeBuilder<H> {
    pub fn process_token(&mut self) {
        match self {
            _ => for _y in self.by_ref() {}
        }
    }
}

impl<H> TreeBuilder<H> {
    pub fn process_token(&mut self) {
        match self {
            _ => for _y in self.by_ref() {}
        }
    }
}

Version information:

7651217

Possibly related line of code:

translated = ASTLoweringExprWithBlock::translate (expr, &terminated);
}
void
ASTLoweringExpr::visit (AST::ForLoopExpr &expr)
{
rust_unreachable ();
}
void
ASTLoweringExpr::visit (AST::BreakExpr &expr)
{
HIR::Lifetime break_label

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

Program output

crab1: internal compiler error: in visit, at rust/hir/rust-ast-lower-expr.cc:594
0x88ce86 Rust::HIR::ASTLoweringExpr::visit(Rust::AST::ForLoopExpr&)
	../../gcc/rust/hir/rust-ast-lower-expr.cc:594
0xe87322 Rust::HIR::ASTLoweringExpr::translate(Rust::AST::Expr&, bool*)
	../../gcc/rust/hir/rust-ast-lower-expr.cc:43
0xe5d4a4 Rust::HIR::ASTLoweringExprWithBlock::visit(Rust::AST::MatchExpr&)
	../../gcc/rust/hir/rust-ast-lower.cc:434
0xe7e908 Rust::HIR::ASTLoweringExprWithBlock::translate(Rust::AST::ExprWithBlock&, bool*)
	../../gcc/rust/hir/rust-ast-lower-block.h:153
0xe7e908 Rust::HIR::ASTLoweringExpr::visit(Rust::AST::MatchExpr&)
	../../gcc/rust/hir/rust-ast-lower-expr.cc:689
0xe87322 Rust::HIR::ASTLoweringExpr::translate(Rust::AST::Expr&, bool*)
	../../gcc/rust/hir/rust-ast-lower-expr.cc:43
0xe5c186 Rust::HIR::ASTLoweringBlock::visit(Rust::AST::BlockExpr&)
	../../gcc/rust/hir/rust-ast-lower.cc:141
0xe7d4c3 Rust::HIR::ASTLoweringBlock::translate(Rust::AST::BlockExpr&, bool*)
	../../gcc/rust/hir/rust-ast-lower-block.h:37
0xe7d4c3 Rust::HIR::ASTLowerImplItem::visit(Rust::AST::Function&)
	../../gcc/rust/hir/rust-ast-lower-implitem.cc:170
0xe7e509 Rust::HIR::ASTLowerImplItem::translate(Rust::AST::AssociatedItem&, unsigned int)
	../../gcc/rust/hir/rust-ast-lower-implitem.cc:34
0xe74ec3 Rust::HIR::ASTLoweringItem::visit(Rust::AST::InherentImpl&)
	../../gcc/rust/hir/rust-ast-lower-item.cc:534
0xe6f11e Rust::HIR::ASTLoweringItem::translate(Rust::AST::Item&)
	../../gcc/rust/hir/rust-ast-lower-item.cc:38
0xe5cba7 Rust::HIR::ASTLowering::go()
	../../gcc/rust/hir/rust-ast-lower.cc:81
0xe5d0a1 Rust::HIR::ASTLowering::Resolve(Rust::AST::Crate&)
	../../gcc/rust/hir/rust-ast-lower.cc:71
0xce8eb8 Rust::Session::compile_crate(char const*)
	../../gcc/rust/rust-session-manager.cc:663
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