# Rust [[Programming Languages]] Used for [[Embedded]] and [[Systems Programming]]. ## Topics - [[Rust MIR]] ## Ownership Ownership is one of the big things in Rust. Uses [[Affine Types]] or [[Linear Types]] (not sure entirely) to do its magical borrow checking. - [Linear or Affine Types? : ProgrammingLanguages](https://www.reddit.com/r/ProgrammingLanguages/comments/6sq6nv/linear_or_affine_types/) - [The Pain Of Linear Types In Rust - Faultlore](https://faultlore.com/blah/linear-rust/) Here's a tool to visualize ownership: - [GitHub - rustviz/rustviz: Interactively Visualizing Ownership and Borrowing for Rust](https://github.com/rustviz/rustviz) ![[Rust-1672345640034.jpeg]] ## Links [[2023-01-19]] Chock full of non-obvious things that could come in really useful. - [Rust concepts I wished I knew earlier - rauljordan::blog](https://rauljordan.com/rust-concepts-i-wish-i-learned-earlier/) [[2022-08-08]] A long article by [[Burntsushi]] about the use of unwrap (panicking) in [[Rust]] programs: - [Using unwrap() in Rust is Okay - Andrew Gallant's Blog](https://blog.burntsushi.net/unwrap/) An article going into the differences (in speed?) between [[Rust]] async and Linux threads: - [GitHub - jimblandy/context-switch: Comparison of Rust async and Linux thread context switch time.](https://github.com/jimblandy/context-switch) An article about Rust for Low-[[Latency]] systems by [[Brian Cantrill]]: - [Bryan Cantrill on Rust and the Future of Low-Latency Systems – The New Stack](https://thenewstack.io/bryan-cantrill-on-rust-and-the-future-of-low-latency-systems/?utm_content=buffer7d7aa&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer) ## Async Rust An article about [[Atomics]] in [[Rust]]: - [Explaining Atomics in Rust - Explaining Atomics in Rust](https://cfsamsonbooks.gitbook.io/explaining-atomics-in-rust/) An article about Pin, Unpin, writing async libraries: - [Pin, Unpin, and why Rust needs them](https://blog.adamchalmers.com/pin-unpin/) ### Futures ![[Futures#Futures async in Rust]]