diff options
| author | fn ⌃ ⌥ <70830482+FnControlOption@users.noreply.github.com> | 2023-02-05 05:57:58 -0800 |
|---|---|---|
| committer | fn ⌃ ⌥ <70830482+FnControlOption@users.noreply.github.com> | 2023-02-05 05:57:58 -0800 |
| commit | baa877fd129c7c6eb3c87c3e219bb4dede67b0a0 (patch) | |
| tree | d707ff596a43200239b065d953f80811e5763a03 /test/behavior/basic.zig | |
| parent | 8e2af21cd99d1c033146b1ab15ab743533cbd743 (diff) | |
| parent | a5b34a61ab61882bf55d87e4cbc8186215ecf320 (diff) | |
| download | zig-baa877fd129c7c6eb3c87c3e219bb4dede67b0a0.tar.gz zig-baa877fd129c7c6eb3c87c3e219bb4dede67b0a0.zip | |
Merge branch 'master' into lzma
Diffstat (limited to 'test/behavior/basic.zig')
| -rw-r--r-- | test/behavior/basic.zig | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig index 8a97b3cbcd..b82bfab99e 100644 --- a/test/behavior/basic.zig +++ b/test/behavior/basic.zig @@ -1125,3 +1125,21 @@ test "returning an opaque type from a function" { }; try expect(S.foo(123).b == 123); } + +test "orelse coercion as function argument" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + + const Loc = struct { start: i32 = -1 }; + const Container = struct { + a: ?Loc = null, + fn init(a: Loc) @This() { + return .{ + .a = a, + }; + } + }; + var optional: ?Loc = .{}; + var foo = Container.init(optional orelse .{}); + try expect(foo.a.?.start == -1); +} |
