Under the hood: Vec

A conspiracy!As I was reading the Rust API documentation for std::vec::Vec, something interesting caught my eye in the Vec struct definition.pub struct Vec<T, A = Global> where A: Allocator, { /* private fields */ } I am looking at you { /* private fields */ } ! “What are you trying to hide from me?” I thought. Was I being sucked into a grand conspiracy? The documentation gives no hints as to what these fields are other than giving us a visual representation of the data structure: ptr len capacity +——–+——–+——–+ | 0x0123 | 2 | 4 | +——–+——–+——–+ | v Heap +——–+——–+——–+——–+ | ‘a’ | ‘b’ | uninit | uninit | +——–+——–+——–+——–+ Surely we will find that our Vec has three fields ptr len and capacity. But to be sure…

Read more on Lobste.rs