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.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user