I found understanding Rust types really confusing, so I wrote up a small tutorial for myself in an attempt to understand some of them. This is by no means exhaustive. There is a types section in the manual, but it has nowhere near enough examples.
I'm not talking about managed pointers (
@) at all. A lot of the difficulty with Rust types is that the language is constantly changing, so this will likely be out of date soon.
First, a few preliminaries: it's easier to play with types if you have a REPL and can interactively check the types of objects. This isn't really possible in Rust, but there are workarounds.