diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-06 06:33:21 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-25 05:11:28 -0400 |
| commit | 45c667eb21b1edde991435871523ece82793b449 (patch) | |
| tree | 93519b7479f61b345dcdcc4677b867a54a31be8f /test/behavior | |
| parent | e875530f8f886cbf8272ab18d063252b94a835c9 (diff) | |
| download | zig-45c667eb21b1edde991435871523ece82793b449.tar.gz zig-45c667eb21b1edde991435871523ece82793b449.zip | |
behavior: fix redefined exports
Diffstat (limited to 'test/behavior')
| -rw-r--r-- | test/behavior/export_self_referential_type_info.zig | 2 | ||||
| -rw-r--r-- | test/behavior/generics.zig | 9 | ||||
| -rw-r--r-- | test/behavior/type_info.zig | 15 |
3 files changed, 10 insertions, 16 deletions
diff --git a/test/behavior/export_self_referential_type_info.zig b/test/behavior/export_self_referential_type_info.zig index f822a81a13..0982985cee 100644 --- a/test/behavior/export_self_referential_type_info.zig +++ b/test/behavior/export_self_referential_type_info.zig @@ -1 +1 @@ -export const foo: c_int = @boolToInt(@typeInfo(@This()).Struct.is_tuple); +export const self_referential_type_info: c_int = @boolToInt(@typeInfo(@This()).Struct.is_tuple); diff --git a/test/behavior/generics.zig b/test/behavior/generics.zig index 4a483ec0d5..a0c21a75d8 100644 --- a/test/behavior/generics.zig +++ b/test/behavior/generics.zig @@ -361,13 +361,14 @@ test "nested generic function" { test "extern function used as generic parameter" { const S = struct { - extern fn foo() void; - extern fn bar() void; - inline fn baz(comptime _: anytype) type { + extern fn usedAsGenericParameterFoo() void; + extern fn usedAsGenericParameterBar() void; + inline fn usedAsGenericParameterBaz(comptime _: anytype) type { return struct {}; } }; - try expect(S.baz(S.foo) != S.baz(S.bar)); + try expect(S.usedAsGenericParameterBaz(S.usedAsGenericParameterFoo) != + S.usedAsGenericParameterBaz(S.usedAsGenericParameterBar)); } test "generic struct as parameter type" { diff --git a/test/behavior/type_info.zig b/test/behavior/type_info.zig index b85d39d7bb..48f2e3e22d 100644 --- a/test/behavior/type_info.zig +++ b/test/behavior/type_info.zig @@ -355,19 +355,12 @@ fn testOpaque() !void { } test "type info: function type info" { - if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; - - // wasm doesn't support align attributes on functions - if (builtin.target.cpu.arch == .wasm32 or builtin.target.cpu.arch == .wasm64) return error.SkipZigTest; - try testFunction(); comptime try testFunction(); } fn testFunction() !void { - const fn_info = @typeInfo(@TypeOf(foo)); + const fn_info = @typeInfo(@TypeOf(typeInfoFoo)); try expect(fn_info == .Fn); try expect(fn_info.Fn.alignment > 0); try expect(fn_info.Fn.calling_convention == .C); @@ -375,12 +368,12 @@ fn testFunction() !void { try expect(fn_info.Fn.args.len == 2); try expect(fn_info.Fn.is_var_args); try expect(fn_info.Fn.return_type.? == usize); - const fn_aligned_info = @typeInfo(@TypeOf(fooAligned)); + const fn_aligned_info = @typeInfo(@TypeOf(typeInfoFooAligned)); try expect(fn_aligned_info.Fn.alignment == 4); } -extern fn foo(a: usize, b: bool, ...) callconv(.C) usize; -extern fn fooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize; +extern fn typeInfoFoo(a: usize, b: bool, ...) callconv(.C) usize; +extern fn typeInfoFooAligned(a: usize, b: bool, ...) align(4) callconv(.C) usize; test "type info: generic function types" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; |
