mirror of
https://github.com/openharmony/third_party_rust_tinyvec.git
synced 2026-07-15 12:35:41 -04:00
36ff7fdf6bb7036a7cf0013ddcf95c0ea3c009bb
Also lifts the `A: Array` constraint on ArrayVec as it was not used yet and would otherwise conflict with the const fn, which currently (Rust 1.51) may not have any trait constraints. Since this commit only adds a new function and lifts a constraint, this should be perfectly backwards compatible.
tinyvec
A 100% safe crate of vec-like types. #![forbid(unsafe_code)]
Main types are as follows:
ArrayVecis an array-backed vec-like data structure. It panics on overflow.SliceVecis the same deal, but using a&mut [T].TinyVec(allocfeature) is an enum that's either anInline(ArrayVec)or aHeap(Vec). If aTinyVecisInlineand would overflow it automatically transitions toHeapand continues whatever it was doing.
To attain this "100% safe code" status there is one compromise: the element type of the vecs must implement Default.
For more details, please see the docs.rs documentation
Description
Languages
Rust
99.5%
Python
0.3%
Shell
0.2%