aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2024-04-16 21:49:08 +0100
committermlugg <mlugg@mlugg.co.uk>2024-04-17 13:41:25 +0100
commit03ad862197d27fb079d16cabdf2026da23aa2653 (patch)
tree4a93dcada35e3bf50521efaa41679688cb16ab26 /lib
parent66630f6c93da0d219d74026742c1cb5f64e858e8 (diff)
downloadzig-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')
-rw-r--r--lib/std/net.zig9
-rw-r--r--lib/std/packed_int_array.zig8
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;
}