| ... | ... | @@ -2322,3 +2322,19 @@ test "assign global tagged union" { |
| 2322 | 2322 | try expect(U.global == .b); |
| 2323 | 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 | } |