Reference Validity
Rust enforces a number of rules for references that make them always safe to
use. One rule is that references can never be null
, making them safe to use
without null
checks. The other rule we'll look at for now is that references
can't outlive the data they point to.
fn main() { let x_ref = { let x = 10; &x }; println!("x: {x_ref}"); }
This slide should take about 3 minutes.
-
This slide gets students thinking about references as not simply being pointers, since Rust has different rules for references than other languages.
-
We'll look at the rest of Rust's borrowing rules on day 3 when we talk about Rust's ownership system.
More to Explore
- Rust's equivalent of nullability is the
Option
type, which can be used to make any type "nullable" (not just references/pointers). We haven't yet introduced enums or pattern matching, though, so try not to go into too much detail about this here.