We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 07d3009 commit 14d5dcbCopy full SHA for 14d5dcb
core/src/ptr/mod.rs
@@ -452,6 +452,11 @@ mod mut_ptr;
452
///
453
/// This is almost the same as calling [`ptr::read`] and discarding
454
/// the result, but has the following advantages:
455
+// FIXME: say something more useful than "almost the same"?
456
+// There are open questions here: `read` requires the value to be fully valid, e.g. if `T` is a
457
+// `bool` it must be 0 or 1, if it is a reference then it must be dereferenceable. `drop_in_place`
458
+// only requires that `*to_drop` be "valid for dropping" and we have not defined what that means. In
459
+// Miri it currently (May 2024) requires nothing at all for types without drop glue.
460
461
/// * It is *required* to use `drop_in_place` to drop unsized types like
462
/// trait objects, because they can't be read out onto the stack and
0 commit comments