-
Notifications
You must be signed in to change notification settings - Fork 187
Open
Labels
Description
auto-reduced (treereduce-rust):
//@compile-flags: -frust-incomplete-and-experimental-compiler-do-not-use
pub fn main() {
while let = 5
{}
}
original:
fn inside_const_generic_arguments() {
while let A::<
{
fn _check_try_binds_tighter() -> Result<(), ()> {
while let 0 = 0? {}
Ok(())
}
},
>::O = 5
{}
}
pub fn main() {
while let = 5
{}
}
Version information:
Possibly related line of code:
gccrs/gcc/rust/ast/rust-desugar-while-let.cc
Lines 50 to 62 in 4db0cf7
return MatchCase (std::move (arm), std::move (body)); | |
} | |
std::unique_ptr<Expr> | |
DesugarWhileLet::desugar (WhileLetLoopExpr &expr) | |
{ | |
rust_assert (expr.get_patterns ().size () == 1); | |
auto pattern = expr.get_patterns ()[0]->clone_pattern (); | |
auto body = expr.get_loop_block ().clone_block_expr (); | |
auto scrutinee = expr.get_scrutinee_expr ().clone_expr (); | |
auto ctx = DesugarCtx (expr.get_locus ()); |
Command:
/home/matthias/vcs/github/gccrs/gccrs-build/gcc/crab1 -frust-incomplete-and-experimental-compiler-do-not-use
Program output
crab1: internal compiler error: in desugar, at rust/ast/rust-desugar-while-let.cc:56
0x301e249 internal_error(char const*, ...)
../../gcc/diagnostic-global-context.cc:786
0xc22881 fancy_abort(char const*, int, char const*)
../../gcc/diagnostics/context.cc:1787
0x91c781 Rust::AST::DesugarWhileLet::desugar(Rust::AST::WhileLetLoopExpr&)
../../gcc/rust/ast/rust-desugar-while-let.cc:56
0x11d2d13 Rust::AST::DesugarWhileLet::go(std::unique_ptr<Rust::AST::Expr, std::default_delete<Rust::AST::Expr> >&)
../../gcc/rust/ast/rust-desugar-while-let.cc:98
0x11cf3a7 Rust::AST::ExpressionYeast::dispatch_loops(std::unique_ptr<Rust::AST::Expr, std::default_delete<Rust::AST::Expr> >&)
../../gcc/rust/ast/rust-expression-yeast.cc:47
0x11cf3a7 Rust::AST::ExpressionYeast::reseat(std::unique_ptr<Rust::AST::Expr, std::default_delete<Rust::AST::Expr> >&)
../../gcc/rust/ast/rust-expression-yeast.cc:66
0xe48fcf void Rust::AST::DefaultASTVisitor::visit<Rust::AST::Item>(std::unique_ptr<Rust::AST::Item, std::default_delete<Rust::AST::Item> >&)
../../gcc/rust/ast/rust-ast-visitor.h:422
0xe48fcf Rust::AST::PointerVisitor::reseat(std::unique_ptr<Rust::AST::Item, std::default_delete<Rust::AST::Item> >&)
../../gcc/rust/ast/rust-ast-pointer-visitor.h:42
0xe48fcf Rust::AST::PointerVisitor::visit(Rust::AST::Crate&)
../../gcc/rust/ast/rust-ast-pointer-visitor.cc:31
0xe7ad00 Rust::Session::expansion(Rust::AST::Crate&, Rust::Resolver2_0::NameResolutionContext&)
../../gcc/rust/rust-session-manager.cc:983
0xe87165 Rust::Session::compile_crate(char const*)
../../gcc/rust/rust-session-manager.cc:618
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.