-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Are tuples shared? #12159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
All fields are comptime values, so the tuple is zero len and unique. Try to initialize some field with a runtime value and it should work as expected. I think it behaves correctly, but it should give a compiler error on the second initialization. |
This makes no sense to me.
But why isn't the second one just another zero len and unique value? |
The second one should not be possible to initialize, this current issue is the same case as #5497 but using a tuple instead of a struct. pub fn main() !void {
const AllComptime = struct {
comptime v0: []const u8 = "sss",
comptime v1: u32 = 1,
comptime v2: u32 = 2,
};
var allComptime = AllComptime { .v0 = "sss", .v1 = 1, .v2 = 2 };
var allComptime2 = AllComptime { .v0 = "abc", .v1 = 2, .v2 = 3 };
std.debug.print("SizeOf AllComptime = {}\n", .{ @sizeOf(AllComptime) });
if (&allComptime == &allComptime2) std.debug.print("Same address\n", .{}); $ zig build run
SizeOf AllComptime = 0
Same address |
Closes ziglang#12169 Closes ziglang#12450 Closes ziglang#13113 Closes ziglang#12159 Closes ziglang#12057 Closes ziglang#12051 Closes ziglang#12092 Closes ziglang#12116 Closes ziglang#12119 Closes ziglang#12142 Closes ziglang#12450 Closes ziglang#13113
Closes ziglang#12057 Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#12057 Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#12057 Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#12057 Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#12057 Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Closes ziglang#11986 Closes ziglang#11850 Closes ziglang#12159
Zig Version
0.10.0-dev.2977+7d2e14267
Steps to Reproduce
print : { [3:0]u8@203ffa, 1, 2, 3 }?
Is this a bug or a mechanism?
Expected Behavior
new tuple
Actual Behavior
list2 = list
The text was updated successfully, but these errors were encountered: