about summary refs log tree commit diff
path: root/compiler/rustc_const_eval
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-07-21 19:32:17 +0000
committerbors <bors@rust-lang.org>2023-07-21 19:32:17 +0000
commitd908a5b08e9ccbd2b41f8b399aa6cd919d5cb451 (patch)
treeacb2921e0160ca30e1264981ecd0158be2a2b49f /compiler/rustc_const_eval
parentc3c5a5c5f7a0cf9acdfe60440a1e1fa68a1c1278 (diff)
parent41a73d8251553afa39c7082b44b2781ca4898578 (diff)
downloadrust-d908a5b08e9ccbd2b41f8b399aa6cd919d5cb451.tar.gz
rust-d908a5b08e9ccbd2b41f8b399aa6cd919d5cb451.zip
Auto merge of #113892 - RalfJung:uninit-undef-poison, r=wesleywiser
clarify MIR uninit vs LLVM undef/poison

In [this LLVM discussion](https://discourse.llvm.org/t/rfc-load-instruction-uninitialized-memory-semantics/67481) I learned that mapping our uninitialized memory in MIR to poison in LLVM would be quite problematic due to the lack of a byte type. I am not sure where to write down this insight but this seems like a reasonable start.
Diffstat (limited to 'compiler/rustc_const_eval')
-rw-r--r--compiler/rustc_const_eval/src/interpret/operand.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/operand.rs b/compiler/rustc_const_eval/src/interpret/operand.rs
index da45fdca1a1..47383c0eabc 100644
--- a/compiler/rustc_const_eval/src/interpret/operand.rs
+++ b/compiler/rustc_const_eval/src/interpret/operand.rs
@@ -31,7 +31,7 @@ pub enum Immediate<Prov: Provenance = AllocId> {
     /// A pair of two scalar value (must have `ScalarPair` ABI where both fields are
     /// `Scalar::Initialized`).
     ScalarPair(Scalar<Prov>, Scalar<Prov>),
-    /// A value of fully uninitialized memory. Can have and size and layout.
+    /// A value of fully uninitialized memory. Can have arbitrary size and layout.
     Uninit,
 }