- traits (interfaces), enums (abstract data types), generics
- pattern matching and destructuring
- memory safety, no nulls, smart pointers, borrow-checking, raii
- not garbage collected
https://www.rust-lang.org/learn/get-started
- install locally:
curl https://sh.rustup.rs -sSf | sh
- create new project:
cargo new hello-rust
- edit edit edit:
vim src/main.rs
- run code:
cargo run
https://doc.rust-lang.org/book/
https://doc.rust-lang.org/stable/rust-by-example/
https://github.com/rust-lang/rustlings/
- install:
curl -L https://git.io/rustlings | bash
- run verifier, auto runs tests as you edit exercises:
rustlings watch
- edit exercises: `vim exercises/exercise/mentioned/in/rustlings/watch/above'
- some design patterns: https://github.com/rust-unofficial/patterns
- learn rust with entirely too many linked lists: https://rust-unofficial.github.io/too-many-lists/
- writing a compiler in rust: http://thume.ca/2019/04/18/writing-a-compiler-in-rust/
- a rustconf talk about game programming: https://www.youtube.com/watch?v=aKLntZcp27M
- rust compiler: https://github.com/rust-lang/rust
- servo (mozilla's next-gen browser engine): https://github.com/servo/servo
- xi-editor: https://github.com/xi-editor/xi-editor
- amethyst game engine: https://github.com/amethyst/amethyst
- rocket web framework: https://github.com/SergioBenitez/Rocket
- libra: https://github.com/libra/libra