Commit 993197cd86

Robin Voetter <robin@voetter.nl>
2021-12-17 04:46:42
stage2: merged error sets in wrapErrorUnion
1 parent 9d6c45f
Changed files (1)
src/Sema.zig
@@ -13990,6 +13990,13 @@ fn wrapErrorUnion(
                 if (data.errors.contains(expected_name)) break :ok;
                 return sema.failWithErrorSetCodeMissing(block, inst_src, dest_err_set_ty, inst_ty);
             },
+            .error_set_merged => {
+                const expected_name = val.castTag(.@"error").?.data.name;
+                const error_set = dest_err_set_ty.castTag(.error_set_merged).?.data;
+                if (!error_set.contains(expected_name)) {
+                    return sema.failWithErrorSetCodeMissing(block, inst_src, dest_err_set_ty, inst_ty);
+                }
+            },
             else => unreachable,
         }
         return sema.addConstant(dest_ty, val);