From 569870ca41e73c64d8dc9f1eccfef3529caf2266 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 8 Mar 2022 20:44:58 -0800 Subject: stage2: error_set_merged type equality This implements type equality for error sets. This is done through element-wise error set comparison. Inferred error sets are always distinct types and other error sets are always sorted. See #11022. --- src/Sema.zig | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/Sema.zig') diff --git a/src/Sema.zig b/src/Sema.zig index 195a0ef274..f74fa1e0bf 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -2212,6 +2212,10 @@ fn zirErrorSetDecl( return sema.fail(block, src, "duplicate error set field {s}", .{name}); } } + + // names must be sorted. + Module.ErrorSet.sortNames(&names); + error_set.* = .{ .owner_decl = new_decl, .node_offset = inst_data.src_node, -- cgit v1.2.3