diff options
| author | Jacob G-W <jacoblevgw@gmail.com> | 2023-07-25 11:15:59 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-07-25 16:19:08 -0700 |
| commit | 3c08fe931a10618950c6af9e89226d1d9b20bbb9 (patch) | |
| tree | e745ce6e163c0af808adc8322a6c83e5ba426641 /lib/std/meta.zig | |
| parent | 972e70b7941561b10f9b3062dcd7b7a91016c546 (diff) | |
| download | zig-3c08fe931a10618950c6af9e89226d1d9b20bbb9.tar.gz zig-3c08fe931a10618950c6af9e89226d1d9b20bbb9.zip | |
make `@typeInfo` not return private decls
fixes #10731
Thanks @nektro for previous work in #14878
This change creates a small breaking change:
It removes the `is_pub` field of a decl in `@typeInfo`
Diffstat (limited to 'lib/std/meta.zig')
| -rw-r--r-- | lib/std/meta.zig | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/lib/std/meta.zig b/lib/std/meta.zig index f1329134a0..3bc5fc9864 100644 --- a/lib/std/meta.zig +++ b/lib/std/meta.zig @@ -293,18 +293,18 @@ test "std.meta.declarations" { const E1 = enum { A, - fn a() void {} + pub fn a() void {} }; const S1 = struct { - fn a() void {} + pub fn a() void {} }; const U1 = union { a: u8, - fn a() void {} + pub fn a() void {} }; const O1 = opaque { - fn a() void {} + pub fn a() void {} }; const decls = comptime [_][]const Type.Declaration{ @@ -333,15 +333,15 @@ test "std.meta.declarationInfo" { const E1 = enum { A, - fn a() void {} + pub fn a() void {} }; const S1 = struct { - fn a() void {} + pub fn a() void {} }; const U1 = union { a: u8, - fn a() void {} + pub fn a() void {} }; const infos = comptime [_]Type.Declaration{ @@ -352,7 +352,6 @@ test "std.meta.declarationInfo" { inline for (infos) |info| { try testing.expect(comptime mem.eql(u8, info.name, "a")); - try testing.expect(!info.is_pub); } } pub fn fields(comptime T: type) switch (@typeInfo(T)) { @@ -597,7 +596,6 @@ fn expectEqualEnum(expected: anytype, actual: @TypeOf(expected)) !void { if (expected_decls.len != actual_decls.len) return error.FailedTest; for (expected_decls, 0..) |expected_decl, i| { const actual_decl = actual_decls[i]; - try testing.expectEqual(expected_decl.is_pub, actual_decl.is_pub); try testing.expectEqualStrings(expected_decl.name, actual_decl.name); } } @@ -644,21 +642,21 @@ pub fn DeclEnum(comptime T: type) type { test "std.meta.DeclEnum" { const A = struct { - const a: u8 = 0; + pub const a: u8 = 0; }; const B = union { foo: void, - const a: u8 = 0; - const b: void = {}; - const c: f32 = 0; + pub const a: u8 = 0; + pub const b: void = {}; + pub const c: f32 = 0; }; const C = enum { bar, - const a: u8 = 0; - const b: void = {}; - const c: f32 = 0; + pub const a: u8 = 0; + pub const b: void = {}; + pub const c: f32 = 0; }; try expectEqualEnum(enum { a }, DeclEnum(A)); try expectEqualEnum(enum { a, b, c }, DeclEnum(B)); |
