Doesn't Rust use refounts?
By default no, everything is stack allocated (which is of course way faster). But you can also easily use so-called boxed types which are heap-allocated, with various ownership modes. FWIW I'm really sold to Rust's concepts, but a bit less on the implementation: effectively as soon as you do half-complex things your implementation becomes not that readable, and not that easy to code. Maybe it's because I need more experience, I still don't know.