expr.get_outer_attrs (), expr.get_locus ());
}
+void
+ASTLoweringExpr::visit (AST::ErrorPropagationExpr &expr)
+{
+ HIR::Expr *propagating_expr
+ = ASTLoweringExpr::translate (expr.get_propagating_expr ().get ());
+
+ auto crate_num = mappings->get_current_crate ();
+ Analysis::NodeMapping mapping (crate_num, expr.get_node_id (),
+ mappings->get_next_hir_id (crate_num),
+ UNKNOWN_LOCAL_DEFID);
+ translated = new HIR::ErrorPropagationExpr (
+ mapping, std::unique_ptr<HIR::Expr> (propagating_expr),
+ expr.get_outer_attrs (), expr.get_locus ());
+}
+
void
ASTLoweringExpr::visit (AST::MatchExpr &expr)
{
void visit (AST::ContinueExpr &expr) override;
void visit (AST::BorrowExpr &expr) override;
void visit (AST::DereferenceExpr &expr) override;
+ void visit (AST::ErrorPropagationExpr &expr) override;
void visit (AST::MatchExpr &expr) override;
void visit (AST::RangeFromToExpr &expr) override;
void visit (AST::RangeFromExpr &expr) override;