Memory allocation in Rust is always explicit at the language level, but you might be abstracted from that detail in more complicated types. For example, a local Vec<T> is a simple structure on the stack with a pointer, length, and capacity, but that pointer refers to a heap allocation.