update fixmes
This commit is contained in:
parent
ea800d529a
commit
b3d7b7bdcb
@ -14,11 +14,11 @@ fn float_to_decimal_common_exact<T>(
|
||||
where
|
||||
T: flt2dec::DecodableFloat,
|
||||
{
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#53491)
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#76092)
|
||||
unsafe {
|
||||
let mut buf = MaybeUninit::<[u8; 1024]>::uninit(); // enough for f32 and f64
|
||||
let mut parts = MaybeUninit::<[flt2dec::Part<'_>; 4]>::uninit();
|
||||
// FIXME(#53491): This is calling `get_mut` on an uninitialized
|
||||
// FIXME(#76092): This is calling `assume_init_mut` on an uninitialized
|
||||
// `MaybeUninit` (here and elsewhere in this file). Revisit this once
|
||||
// we decided whether that is valid or not.
|
||||
// We can do this only because we are libstd and coupled to the compiler.
|
||||
@ -47,12 +47,12 @@ fn float_to_decimal_common_shortest<T>(
|
||||
where
|
||||
T: flt2dec::DecodableFloat,
|
||||
{
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#53491)
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#76092)
|
||||
unsafe {
|
||||
// enough for f32 and f64
|
||||
let mut buf = MaybeUninit::<[u8; flt2dec::MAX_SIG_DIGITS]>::uninit();
|
||||
let mut parts = MaybeUninit::<[flt2dec::Part<'_>; 4]>::uninit();
|
||||
// FIXME(#53491)
|
||||
// FIXME(#76092)
|
||||
let formatted = flt2dec::to_shortest_str(
|
||||
flt2dec::strategy::grisu::format_shortest,
|
||||
*num,
|
||||
@ -103,11 +103,11 @@ fn float_to_exponential_common_exact<T>(
|
||||
where
|
||||
T: flt2dec::DecodableFloat,
|
||||
{
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#53491)
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#76092)
|
||||
unsafe {
|
||||
let mut buf = MaybeUninit::<[u8; 1024]>::uninit(); // enough for f32 and f64
|
||||
let mut parts = MaybeUninit::<[flt2dec::Part<'_>; 6]>::uninit();
|
||||
// FIXME(#53491)
|
||||
// FIXME(#76092)
|
||||
let formatted = flt2dec::to_exact_exp_str(
|
||||
flt2dec::strategy::grisu::format_exact,
|
||||
*num,
|
||||
@ -133,12 +133,12 @@ fn float_to_exponential_common_shortest<T>(
|
||||
where
|
||||
T: flt2dec::DecodableFloat,
|
||||
{
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#53491)
|
||||
// SAFETY: Possible undefined behavior, see FIXME(#76092)
|
||||
unsafe {
|
||||
// enough for f32 and f64
|
||||
let mut buf = MaybeUninit::<[u8; flt2dec::MAX_SIG_DIGITS]>::uninit();
|
||||
let mut parts = MaybeUninit::<[flt2dec::Part<'_>; 6]>::uninit();
|
||||
// FIXME(#53491)
|
||||
// FIXME(#76092)
|
||||
let formatted = flt2dec::to_shortest_exp_str(
|
||||
flt2dec::strategy::grisu::format_shortest,
|
||||
*num,
|
||||
|
@ -167,8 +167,7 @@ use crate::mem::ManuallyDrop;
|
||||
///
|
||||
/// // For each item in the array, drop if we allocated it.
|
||||
/// for elem in &mut data[0..data_len] {
|
||||
/// unsafe { ptr::drop_in_place(elem.
|
||||
/// ptr()); }
|
||||
/// unsafe { ptr::drop_in_place(elem.ptr()); }
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
@ -718,7 +717,7 @@ impl<T> MaybeUninit<T> {
|
||||
/// {
|
||||
/// let mut buffer = MaybeUninit::<[u8; 64]>::uninit();
|
||||
/// reader.read_exact(unsafe { buffer.assume_init_mut() })?;
|
||||
/// // ^^^^^^^^^^^^^^^^
|
||||
/// // ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
/// // (mutable) reference to uninitialized memory!
|
||||
/// // This is undefined behavior.
|
||||
/// Ok(unsafe { buffer.assume_init() })
|
||||
@ -739,11 +738,11 @@ impl<T> MaybeUninit<T> {
|
||||
/// let foo: Foo = unsafe {
|
||||
/// let mut foo = MaybeUninit::<Foo>::uninit();
|
||||
/// ptr::write(&mut foo.assume_init_mut().a as *mut u32, 1337);
|
||||
/// // ^^^^^^^^^^^^^
|
||||
/// // ^^^^^^^^^^^^^^^^^^^^^
|
||||
/// // (mutable) reference to uninitialized memory!
|
||||
/// // This is undefined behavior.
|
||||
/// ptr::write(&mut foo.assume_init_mut().b as *mut u8, 42);
|
||||
/// // ^^^^^^^^^^^^^
|
||||
/// // ^^^^^^^^^^^^^^^^^^^^^
|
||||
/// // (mutable) reference to uninitialized memory!
|
||||
/// // This is undefined behavior.
|
||||
/// foo.assume_init()
|
||||
|
@ -49,7 +49,7 @@ where
|
||||
W: Write,
|
||||
{
|
||||
let mut buf = MaybeUninit::<[u8; super::DEFAULT_BUF_SIZE]>::uninit();
|
||||
// FIXME(#53491): This is calling `get_mut` and `get_ref` on an uninitialized
|
||||
// FIXME(#76092): This is calling `get_mut` and `get_ref` on an uninitialized
|
||||
// `MaybeUninit`. Revisit this once we decided whether that is valid or not.
|
||||
// This is still technically undefined behavior due to creating a reference
|
||||
// to uninitialized data, but within libstd we can rely on more guarantees
|
||||
|
Loading…
x
Reference in New Issue
Block a user