-
Notifications
You must be signed in to change notification settings - Fork 112
0.8 Release Roadmap #671
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
34 tasks
This was referenced Feb 21, 2024
2 tasks
This was referenced Apr 2, 2024
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
0.8
Release plan
Definitely include
#[derive(IntoBytes)]
on unions, work to guarantee forwards-compatible soundness #1792Run cargo-semver-checks; audit output to make sure it's as we expectmacro_util::enum_has_padding
sound in the face of bothrepr(C)
andrepr(Int)
layouts (specifically when the two result in different field packing regarding padding)?#[derive(IntoBytes)]
on types with#[repr(align)]
#1748Add
impls that permit adding to native types (e.g.Add<f32> for F32
) and other traitsRef
unaligned
constructors #1720extend_vec_zeroed
andinsert_vec_zeroed
fallible #1653UnsafeCell
" property into separateImmutable
trait; allowFromZeros
,FromBytes
, andAsBytes
on types withUnsafeCell
s #251#[deprecated]
is an MSRV-breaking change; if we decide that it's not, then we can remove some blockers for 0.8FromZeros::new_boxed_slice_zeroed
and replace with method which supports slice DSTs?Deref
, change some methods to associated functions? #210addr_of!
for read-only-ness #1607#[derive(IntoBytes)]
only supports unsized types which arerepr(packed)
#1566KnownLayout
will result in more users trying out unsized typesImmutable
types assumed not to containUnsafeCell
s #1358Ptr
type needs to handle zero-sized types #874syn
, or choose a different workaround #1088Unalign::set
withreplace
orswap
(which returns the original)? Strictly more powerful.TryFromBytes
- conditional conversion analogous toFromBytes
#5AsBytes
for fields with a size set as a generic constant #1182Resolve rust-lang/unsafe-code-guidelines#429 before releasingNoCell for Box<T>
whereT: Sized
Immutable
types assumed not to containUnsafeCell
s #1358const
context.Into<&[u8]>
bound fromIntoByteSlice
? #1260try_transmute!
#1018PointerMetadata::size_for_metadata
can return size which overflowsisize
#1158FromBytes
conversion methods #1059Ref
constructors which zero bytes? #1134transmute_mut!
documents looser requirements than what is implemented #1046IntoBytes::as_mut_bytes
#986byteorder
crate, makebyteorder
type methodsconst
#438FromZeroes
is misspelt #431FromZeroes
toFromZeros
#430Ref<core::cell::Ref<[u8]>, _>::into_ref
is unsound #716Ptr
type should reason aboutUnsafeCell
overlap #873TryFromBytes::is_bit_valid
forUnalign<T>
#897derive(FromBytes)
should implicitly deriveFromZeros
andTryFromBytes
#925AsBytes
just as we do forFromZeroes
Include if we have time
try_
variants to some methods, make existing methods panic #284as_bytes_mut
toas_mut_bytes
#253#[must_use]
annotation to some types, functions, and macros #188Do before we publicize 0.8
#[derive(IntoBytes)]
on generic enums emits code with an arity error. #1642syn
, but this isn't true.cargo fix
-like tool) #1295TryFromBytes::try_xxx_with_elems
?TryFromBytes::try_read_from_prefix
andtry_read_from_suffix
?#[diagnostic::on_unimplemented]
to improve padding error messages #1696IntoBytes
on unsized types #1708Non-breaking; do after 0.8 is released
cargo deadlinks
to check for dead links #1021src
field in error types public? #1685Unsized
types #993TryFromBytes for MaybeUninit<T>
whenT: ?NoCell
#893The text was updated successfully, but these errors were encountered: