The documentation should be conveying the language semantics, not an inaccurate analogy of the implementation details. Rust never makes use of the dss section (aka the heap) by default as jemalloc prefers obtaining all memory via anonymous memory mappings. Stacks are dynamic allocations coming from the same operating system API as Box<T> and Rc<T>. It's all obtained via mmap and VirtualAlloc. The classical distinction between a static call stack and a dynamic heap doesn't really exist on modern operating systems since multi-threading means stacks are dynamic memory allocations.