In<T> and Out<T> a new types that are self abstractions for uninitialized and initialized pointers to T that allow for all the view products to be built in pre-allocated memory.
Listener builds its product without allocating any memory.
Listener no longer uses the wasm_bindgen::Closure.
List is using a new PageList<T> collection for its storage, replacing Vec<Box<T>>:
PageList guarantees pointer stability for all of its elements, so products don't have to be boxed.
Like Vec::from_iter, PageList will always use the low bound of Iterator::size_hint to allocate enough space for an entire exact-size iterator to fit in a single allocation. If low bound is 0 (for iterators of unknown size) the minimum allocation is 512 bytes, or one T for T larger than 512 bytes.
If a given page (node) in the list is at capacity, growing is done by adding a new page (node), like a linked list would do.
View::build method now has the following signature:
In<T>
andOut<T>
a new types that are self abstractions for uninitialized and initialized pointers toT
that allow for all the view products to be built in pre-allocated memory.Listener
builds its product without allocating any memory.Listener
no longer uses thewasm_bindgen::Closure
.List
is using a newPageList<T>
collection for its storage, replacingVec<Box<T>>
:PageList
guarantees pointer stability for all of its elements, so products don't have to be boxed.Vec::from_iter
,PageList
will always use the low bound ofIterator::size_hint
to allocate enough space for an entire exact-size iterator to fit in a single allocation. If low bound is0
(for iterators of unknown size) the minimum allocation is 512 bytes, or oneT
forT
larger than 512 bytes.View::build
method now has the following signature:All
Trunk.toml
files now require a following addition for event listeners to work: