authorgravatar for andrea@orru.ioAndrea Orru <andrea@orru.io> 2018-03-13 16:14:21-07:00
committergravatar for andrea@orru.ioAndrea Orru <andrea@orru.io> 2018-03-13 16:14:21-07:00
log2cdd50c9b266ea828274578481e0c37dc0b19956
treea11b85b04558ee9f2a0cf853fe16072be83260cf
parentd6e84e325bab360c6b6980dc2d57df872b9affdc

Panic instead of segfault when returning generic type from functions

closes #829

1 files changed, 5 insertions(+), 1 deletions(-)

src/analyze.cpp+5-1
...@@ -970,7 +970,11 @@ TypeTableEntry *get_fn_type(CodeGen *g, FnTypeId *fn_type_id) {...@@ -970,7 +970,11 @@ TypeTableEntry *get_fn_type(CodeGen *g, FnTypeId *fn_type_id) {
970 if (table_entry) {970 if (table_entry) {
971 return table_entry->value;971 return table_entry->value;
972 }972 }
973 ensure_complete_type(g, fn_type_id->return_type);973 if (fn_type_id->return_type != nullptr) {
974 ensure_complete_type(g, fn_type_id->return_type);
975 } else {
976 zig_panic("TODO implement inferred return types https://github.com/zig-lang/zig/issues/447");
977 }
974978
975 TypeTableEntry *fn_type = new_type_table_entry(TypeTableEntryIdFn);979 TypeTableEntry *fn_type = new_type_table_entry(TypeTableEntryIdFn);
976 fn_type->is_copyable = true;980 fn_type->is_copyable = true;