-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.8 Release Roadmap #671
Comments
34 tasks
2 tasks
This was referenced Apr 2, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in 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: