diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/hir_typeck/expr_cs.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/hir_typeck/expr_cs.cpp b/src/hir_typeck/expr_cs.cpp index 7bbcc1c9..777ae1cc 100644 --- a/src/hir_typeck/expr_cs.cpp +++ b/src/hir_typeck/expr_cs.cpp @@ -1943,6 +1943,21 @@ namespace { } void visit(::HIR::ExprNode_StructLiteral& node) override { this->check_type_resolved_pp(node.span(), node.m_path.m_params, ::HIR::TypeRef()); + for(auto& ty : node.m_value_types) { + if( ty != ::HIR::TypeRef() ) { + this->check_type_resolved_top(node.span(), ty); + } + } + + ::HIR::ExprVisitorDef::visit(node); + } + void visit(::HIR::ExprNode_TupleVariant& node) override { + this->check_type_resolved_pp(node.span(), node.m_path.m_params, ::HIR::TypeRef()); + for(auto& ty : node.m_arg_types) { + if( ty != ::HIR::TypeRef() ) { + this->check_type_resolved_top(node.span(), ty); + } + } ::HIR::ExprVisitorDef::visit(node); } |