Why does the following rust code work?
fn main() {
    let a = Some(vec![1, 2, 3]);
    let b = &a.unwrap(); // .unwrap() takes ownership of the Option<Vec<i32>>
    dbg!(b); // Why can I do this? a is no longer the owner of Some(vec![1, 2, 3]), and should've been dropped.
    // Who owns Some(vec![1, 2, 3])?
}