mirror of
https://github.com/ziglang/zig.git
synced 2026-01-01 11:03:11 +00:00
stage2 type.zig: implement eql of error unions (#9334)
This commit is contained in:
parent
a201d80253
commit
1f0b77b3b8
@ -520,9 +520,13 @@ pub const Type = extern union {
|
||||
}
|
||||
return a.tag() == b.tag();
|
||||
},
|
||||
.ErrorUnion => {
|
||||
const a_data = a.castTag(.error_union).?.data;
|
||||
const b_data = b.castTag(.error_union).?.data;
|
||||
return a_data.error_set.eql(b_data.error_set) and a_data.payload.eql(b_data.payload);
|
||||
},
|
||||
.Opaque,
|
||||
.Float,
|
||||
.ErrorUnion,
|
||||
.ErrorSet,
|
||||
.BoundFn,
|
||||
.Frame,
|
||||
|
||||
@ -600,5 +600,16 @@ pub fn addCases(ctx: *TestContext) !void {
|
||||
\\ return error.Bruh;
|
||||
\\}
|
||||
, "69\n");
|
||||
case.addCompareOutput(
|
||||
\\pub export fn _start() u32 {
|
||||
\\ var e = foo();
|
||||
\\ const i = e catch 42;
|
||||
\\ return i;
|
||||
\\}
|
||||
\\
|
||||
\\fn foo() anyerror!u32 {
|
||||
\\ return error.Dab;
|
||||
\\}
|
||||
, "42\n");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user