A systems language with the safety of Java and the speed of C++ — without a garbage collector. Memory safety enforced at compile time, by the famous borrow checker.
← Back to Server SideOption<T> and Result<T, E> instead.fn main() { let nums = vec![1, 2, 3, 4]; let sum: i32 = nums.iter().sum(); println!("Sum: {}", sum); } // Result type — explicit error handling fn parse_age(s: &str) -> Result<u32, ParseIntError> { s.parse::<u32>() } match parse_age("42") { Ok(age) => println!("Age: {}", age), Err(err) => eprintln!("Error: {}", err), }
Rust's central innovation. The compiler tracks who owns each piece of memory and ensures references can't outlive the data they point to. The famous "fight with the borrow checker" is the price of catching memory bugs at compile time instead of runtime.
Algebraic data types with exhaustive match expressions. Option and Result use this to make null and exception-free code natural.
Like interfaces in Java but more powerful. Traits can have default methods, be generic, and let you add behavior to existing types.
async/await on top of pluggable runtimes (Tokio, async-std). Concurrency without data races, courtesy of Send and Sync trait bounds.
| Category | Tools |
|---|---|
| Build / pkg | cargo — build, test, publish, run |
| Linter | Clippy |
| Format | rustfmt |
| Web | Axum, Actix Web, Rocket, Warp |
| Async runtime | Tokio, async-std |
| Notable users | Discord, Cloudflare, Firefox, Linux kernel, AWS Firecracker |
Now in the Linux kernel and Windows internals.
Discord, Cloudflare Workers, Firecracker (AWS Lambda).
Best-in-class compiler target for Wasm.
ripgrep, fd, bat, uv — Rust ate this niche.
No-GC + safety = perfect for microcontrollers.
Solana, Polkadot, Aptos written in Rust.