diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2024-04-16 21:49:08 +0100 |
|---|---|---|
| committer | mlugg <mlugg@mlugg.co.uk> | 2024-04-17 13:41:25 +0100 |
| commit | 03ad862197d27fb079d16cabdf2026da23aa2653 (patch) | |
| tree | 4a93dcada35e3bf50521efaa41679688cb16ab26 /lib/std | |
| parent | 66630f6c93da0d219d74026742c1cb5f64e858e8 (diff) | |
| download | zig-03ad862197d27fb079d16cabdf2026da23aa2653.tar.gz zig-03ad862197d27fb079d16cabdf2026da23aa2653.zip | |
compiler: un-implement #19634
This commit reverts the handling of partially-undefined values in
bitcasting to transform these bits into an arbitrary numeric value,
like happens on `master` today.
As @andrewrk rightly points out, #19634 has unfortunate consequences
for the standard library, and likely requires more thought. To avoid
a major breaking change, it has been decided to revert this design
decision for now, and make a more informed decision further down the
line.
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/net.zig | 9 | ||||
| -rw-r--r-- | lib/std/packed_int_array.zig | 8 |
2 files changed, 0 insertions, 17 deletions
diff --git a/lib/std/net.zig b/lib/std/net.zig index ddbb414705..3126bfa93b 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -278,9 +278,6 @@ pub const Ip4Address = extern struct { }, }; const out_ptr = mem.asBytes(&result.sa.addr); - if (@inComptime()) { - @memset(out_ptr, 0); // TODO: #19634 - } var x: u8 = 0; var index: u8 = 0; @@ -392,9 +389,6 @@ pub const Ip6Address = extern struct { .addr = undefined, }, }; - if (@inComptime()) { - @memset(std.mem.asBytes(&result.sa.addr), 0); // TODO: #19634 - } var ip_slice: *[16]u8 = result.sa.addr[0..]; var tail: [16]u8 = undefined; @@ -513,9 +507,6 @@ pub const Ip6Address = extern struct { .addr = undefined, }, }; - if (@inComptime()) { - @memset(std.mem.asBytes(&result.sa.addr), 0); // TODO: #19634 - } var ip_slice: *[16]u8 = result.sa.addr[0..]; var tail: [16]u8 = undefined; diff --git a/lib/std/packed_int_array.zig b/lib/std/packed_int_array.zig index d76df4d04e..02c721e7cf 100644 --- a/lib/std/packed_int_array.zig +++ b/lib/std/packed_int_array.zig @@ -214,10 +214,6 @@ pub fn PackedIntArrayEndian(comptime Int: type, comptime endian: Endian, comptim /// or, more likely, an array literal. pub fn init(ints: [int_count]Int) Self { var self: Self = undefined; - if (@inComptime()) { - // TODO: #19634 - @memset(&self.bytes, 0xAA); - } for (ints, 0..) |int, i| self.set(i, int); return self; } @@ -225,10 +221,6 @@ pub fn PackedIntArrayEndian(comptime Int: type, comptime endian: Endian, comptim /// Initialize all entries of a packed array to the same value. pub fn initAllTo(int: Int) Self { var self: Self = undefined; - if (@inComptime()) { - // TODO: #19634 - @memset(&self.bytes, 0xAA); - } self.setAll(int); return self; } |
