| ... | @@ -2322,3 +2322,19 @@ test "assign global tagged union" { | ... | @@ -2322,3 +2322,19 @@ test "assign global tagged union" { |
| 2322 | try expect(U.global == .b); | 2322 | try expect(U.global == .b); |
| 2323 | try expect(U.global.b == 123456); | 2323 | try expect(U.global.b == 123456); |
| 2324 | } | 2324 | } |
| | 2325 | |
| | 2326 | test "set mutable union by switching on same union" { |
| | 2327 | const U = union(enum) { |
| | 2328 | foo, |
| | 2329 | bar: usize, |
| | 2330 | }; |
| | 2331 | |
| | 2332 | var val: U = .foo; |
| | 2333 | val = switch (val) { |
| | 2334 | .foo => .{ .bar = 2 }, |
| | 2335 | .bar => .foo, |
| | 2336 | }; |
| | 2337 | |
| | 2338 | try expect(val == .bar); |
| | 2339 | try expect(val.bar == 2); |
| | 2340 | } |