Dynamic consecutive arrays
This is an easy one, it has the same API as the built-in std::vec::Vec<T>:
#![allow(unused)] fn main() { struct ByteArray<'b> { ptr: Cell<*mut u8>, len_in_bytes: Cell<usize>, capacity_in_bytes: Cell<usize>, marker: core::marker::PhantomData<&'b ()>, } }
Implementing methods like .grow(), .push() and .pop() is easy, you can use standard vec as a reference implementation.