UnsizedStack
Store unboxed DST objects
Provides efficient list when the elements don't need to get resorted for DST types.
NOTE:
UnsizedStack
relies on an unspecified fat pointer representation
Diagram
Each object is correctly padded.
Example
Trait object
use UnsizedStack;
use Debug;
let mut stack = new;
stack.push;
stack.push;
stack.push;
dbg!; // Print stack = ["str", 1, 28342.2]
str
use UnsizedStack;
use Debug;
let mut stack = new;
stack.push;
stack.push;
stack.push;
dbg!; // Print stack = ["str", "asdf", "abcd"]
slices
use UnsizedStack;
use Debug;
let mut stack = new;
stack.push;
stack.push;
stack.push;
dbg!; // Print stack = [[1, 2], [3, 4], [5, 6]]