diff --git a/src/Type.cc b/src/Type.cc index 245565a16b..5341476a3f 100644 --- a/src/Type.cc +++ b/src/Type.cc @@ -2537,6 +2537,11 @@ TypePtr init_type(const detail::ExprPtr& init) { if ( init->Tag() != detail::EXPR_LIST ) { auto t = init->InitType(); + if ( ! t ) { + init->Error("not a valid initializer"); + return nullptr; + } + if ( (t->Tag() == TYPE_TABLE && cast_intrusive(t)->IsUnspecifiedTable()) || (t->Tag() == TYPE_VECTOR && cast_intrusive(t)->IsUnspecifiedVector()) ) { init->Error("empty constructor in untyped initialization");