gcc/rust/ChangeLog:
* ast/rust-desugar-question-mark.cc (DesugarQuestionMark::go): Add assertion for the
expr's type.
* ast/rust-desugar-try-block.cc (DesugarTryBlock::go): Likewise.
#include "rust-desugar-question-mark.h"
#include "rust-ast-builder.h"
-#include "rust-ast-visitor.h"
namespace Rust {
namespace AST {
void
DesugarQuestionMark::go (std::unique_ptr<Expr> &ptr)
{
+ rust_assert (ptr->get_expr_kind () == Expr::Kind::ErrorPropagation);
+
auto original = static_cast<ErrorPropagationExpr &> (*ptr);
auto desugared = DesugarQuestionMark ().desugar (original);
void
DesugarTryBlock::go (std::unique_ptr<Expr> &ptr)
{
+ rust_assert (ptr->get_expr_kind () == Expr::Kind::Try);
+
auto original = static_cast<TryExpr &> (*ptr);
auto desugared = DesugarTryBlock ().desugar (original);