summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hir_typeck/expr_cs.cpp15
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);
}