1.0.0-beta.2
Pre-release
Pre-release
Added
SliceSource
trait for providing slice data toMarker
functions from
various source data types.SliceMoveSource
subtrait ofSliceSource
that allows for taking ownership
of the contents of a slice.SliceSourceCollection
trait for abstracting collections ofSliceSource
objects.SliceMoveSourceCollection
subtrait ofSliceSourceCollection
that allows
for taking ownership of the slices provided by allSliceSource
objects in
a collection.Marker::concat_slices()
function for concatenating slices by moving their
contents into the new allocation.
Changed
- Overhauled
Marker
functions that work with slices to take slice input
using the newSliceSource
,SliceMoveSource
,SliceSourceCollection
, and
SliceMoveSourceCollection
traits, allowing for more flexible input for
slice data. Additionally, the inputs for these functions are now more
consistent with one another. - Renamed
IntoSliceAllocation
toIntoSliceLikeAllocation
and updated its
methods accordingly for consistency with other traits that work with
SliceLike
types. - Unconditionally enable
i128
andu128
implementations ofByteData
if
therustc
version detected at build time is 1.26 or later.
Removed
OwnedSlice
trait (superseded bySliceSource
and its related traits).- Automatic coercion of scalar values (including boxed scalars) and boxed
arrays into slices when used as arguments forMarker::allocate_slice()
,
Marker::extend()
, and the relatedMarkerFront
andMarkerBack
wrappers.
Support for scalars previously resulted in ambiguity when trying to
determine whether an array or slice reference should be interpreted as a
slice of its contents or a single-element slice containing either the array
or slice reference, requiring explicit type annotations in such cases. On
the other hand, support for boxed arrays simply becomes difficult to
implement when using the newly addedArray
trait, so they've simply been
removed in response. Both can still be used as input via explicit conversion
into a supported type. - Miscellaneous unnecessary generic parameters.
Fixed
- Check for the correct feature ("unstable" versus "nightly") in the
cfg
attributes used to control whetherByteData
implementations are generated
fori128
andu128
.