This module is used for heap allocation.
A very simple way to allocate memory on the heap, provide ownership, and drop when out of scope.
- impl<T> Box<T>
- fn new(x:T) -> Box<T>: Allocates memory on the heap and places x into it
- impl <T> Box<T> where T: ?Sized
- unsafe fn from_raw(raw: *mut T) -> Box<T>: Constructs a box from a raw pointer. After creation, the pointer is owned by the new Box. It is unsafe for this very reason; the Box destructor will call the destructor of T and free the allocated memory. This may lead to double freeing that will cause a crash.
- fn into_raw(b: Box<T> -> *mut T: Consumes the box and returns the wrapped raw pointer.
- impl Box<Any + 'static>
- fn downcast<T>(self) -> Result<Box<T>, Box<Any + 'static>> ...