Something i didnt know for a long time (even though its mentioned in the book pretty sure) is that enum discriminants work like functions
#[derive(Debug, PartialEq, Eq)]
enum Foo {
Bar(i32),
}
let x: Vec<_> = [1, 2, 3]
.into_iter()
.map(Foo::Bar)
.collect();
assert_eq!(
x,
vec![Foo::Bar(1), Foo::Bar(2), Foo::Bar(3)]
);
Not too crazy but its something that blew my mind when i first saw it
General Release