summaryrefslogtreecommitdiff
path: root/src/hir_expand/reborrow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir_expand/reborrow.cpp')
-rw-r--r--src/hir_expand/reborrow.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/hir_expand/reborrow.cpp b/src/hir_expand/reborrow.cpp
index d1b08f54..d276f57d 100644
--- a/src/hir_expand/reborrow.cpp
+++ b/src/hir_expand/reborrow.cpp
@@ -209,14 +209,18 @@ namespace {
}
}
void visit_enum(::HIR::ItemPath p, ::HIR::Enum& item) override {
- for(auto& var : item.m_variants)
+ if(auto* e = item.m_data.opt_Value())
{
- TU_IFLET(::HIR::Enum::Variant, var.second, Value, e,
- DEBUG("Enum value " << p << " - " << var.first);
+ for(auto& var : e->variants)
+ {
+ DEBUG("Enum value " << p << " - " << var.name);
- ExprVisitor_Mutate ev(m_crate);
- ev.visit_node_ptr(e.expr);
- )
+ if( var.expr )
+ {
+ ExprVisitor_Mutate ev(m_crate);
+ ev.visit_node_ptr(var.expr);
+ }
+ }
}
}
};