Rust has scalar types (integers, floats, Booleans, characters) and compound types (tuples, arrays). It also supports references, slices, and user-defined types like enums and structs. Ownership and borrowing govern data lifetimes, ensuring memory safety without a garbage collector.