You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stable toolchain alloc crate support for no_std code via the alloc
feature. This requires Rust 1.36 or later.
ByteData support for std::mem::MaybeUninit types that wrap other ByteData types (e.g. MaybeUninit<usize>) when using Rust 1.36 or later
or when the unstable feature is enabled.
Changed
Add local_inner_macros modifier to utility macro declarations
(array_type_for_bytes!, cache_aligned_zeroed_for_markers!, etc.),
allowing them to be imported individually via use statements in Rust 2018
code without needing to import any other macros that they may call.
Update example and test code to use std::mem::MaybeUninit as appropriate
when working with uninitialized memory. The now-deprecated std::mem::uninitialized() function is only used for tests on legacy
systems and is not included in any generated documentation.
Include recommendations to use arrays and slices of std::mem::MaybeUninit
elements if possible for uninitialized memory storage to the documentation
for Scratchpad::static_new(), Scratchpad::static_new_in_place(), uninitialized_boxed_slice(), uninitialized_boxed_slice_for_bytes(), and uninitialized_boxed_slice_for_markers(), as well as a note in the "Known
Issues" section of the crate-level documentation.
Add #[repr(C)] attribute to CacheAligned in order to guarantee
consistent data layout. CacheAligned is correctly sized and aligned in
practice with the default Rust repr, but the Rust repr technically
doesn't guarantee any specific data layout; specifying the Crepr helps
us avoid any edge cases that may arise. Existing code should still behave as
normal.
Updated Travis CI configuration to use clippy and rustfmt from the
stable toolchain, and updated the code accordingly (based on the 1.36.0
toolchain versions).