aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/basic.zig
diff options
context:
space:
mode:
authorfn ⌃ ⌥ <70830482+FnControlOption@users.noreply.github.com>2023-02-05 05:57:58 -0800
committerfn ⌃ ⌥ <70830482+FnControlOption@users.noreply.github.com>2023-02-05 05:57:58 -0800
commitbaa877fd129c7c6eb3c87c3e219bb4dede67b0a0 (patch)
treed707ff596a43200239b065d953f80811e5763a03 /test/behavior/basic.zig
parent8e2af21cd99d1c033146b1ab15ab743533cbd743 (diff)
parenta5b34a61ab61882bf55d87e4cbc8186215ecf320 (diff)
downloadzig-baa877fd129c7c6eb3c87c3e219bb4dede67b0a0.tar.gz
zig-baa877fd129c7c6eb3c87c3e219bb4dede67b0a0.zip
Merge branch 'master' into lzma
Diffstat (limited to 'test/behavior/basic.zig')
-rw-r--r--test/behavior/basic.zig18
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);
+}