aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index e40412e863..bb30f53967 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -5856,9 +5856,11 @@ uint32_t get_coro_frame_align_bytes(CodeGen *g) {
return g->pointer_size_bytes * 2;
}
+bool type_can_fail(TypeTableEntry *type_entry) {
+ return type_entry->id == TypeTableEntryIdErrorUnion || type_entry->id == TypeTableEntryIdErrorSet;
+}
+
bool fn_type_can_fail(FnTypeId *fn_type_id) {
- TypeTableEntry *return_type = fn_type_id->return_type;
- return return_type->id == TypeTableEntryIdErrorUnion || return_type->id == TypeTableEntryIdErrorSet ||
- fn_type_id->cc == CallingConventionAsync;
+ return type_can_fail(fn_type_id->return_type) || fn_type_id->cc == CallingConventionAsync;
}