Result and Option combinator quick-reference

I haveI wantI can provide...then I should use:
Option
Option<T>T or panic
expect(self, msg: &str)
unwrap(self)
Option<T>T
TA default value
unwrap_or(self, default: T)
Option<T>T
F: Fn() -> TA function to compute the default value
unwrap_or_else(self, f: F)
Option<T>T
unwrap_or_default(self)
Option<T>U
UA default value
F: Fn(T) -> UA function to compute the new value given the old one
map_or(self, default: U, f: F)
Option<T>U
D: Fn() -> UA function to compute a default value
F: Fn(T) -> UA function to compute the new value given the old one
map_or_else(self, default: D, f: F)
Option<T>Option<T>
Option<T>Another Option
or(self, optb: Option<U>)
Option<T>Option<T>
F: Fn() -> Option<T>A function to compute another Option
or_else(self, f: F)
Option<T>Option<T>
P: Fn(&T) -> boolA predicate taking a reference to the current value
filter(self, predicate: P)
Option<T>Option<T>
Option<T>Another Option
xor(self, optb: Option<T>)
Option<T>Option<U>
F: Fn(T) -> UA function to compute the new value given the old one
map(self, f: F)
Option<T>Option<U>
Option<U>Another Option
and(self, optb: Option<U>)
Option<T>Option<U>
F: Fn(T) -> Option<U>A function to compute a new Option given the current value
and_then(self, f: F)
Option<T>Result<T, E>
EAn error value
ok_or(self, err: E)
Option<T>Result<T, E>
F: Fn() -> EA function to compute an error value
ok_or_else(self, err: F)
Option<Result<T, E>>Result<Option<T>, E>
transpose(self)
Option<Option<T>>Option<T>
flatten(self)
Result
Result<T, E>T or panic
unwrap(self)
expect(self, msg: &str)
Result<T, E>T
TA default value
unwrap_or(self, default: T)
Result<T, E>T
F: Fn(E) -> TA function to compute a value given the current error
unwrap_or_else(self, op: F)
Result<T, E>T
unwrap_or_default(self)
Result<T, E>E or panic
unwrap_err(self)
expect_err(self, msg: &str)
Result<T, E>U
UA default value
F: Fn(T) -> UA function to compute the new value given the old one
map_or(self, default: U, f: F)
Result<T, E>U
D: Fn(E) -> UA function to compute a default value given the error value
F: Fn(T) -> UA function to compute the new value given the old one
map_or_else(self, default: D, f: F)
Result<T, E>Option<T>
ok(self)
Result<T, E>Option<E>
err(self)
Result<T, E>Result<U, E>
F: Fn(T) -> UA function to compute the new value given the old one
map(self, f: F)
Result<T, E>Result<U, E>
Result<U, E>Another Result
and(self, res: Result<U, E>)
Result<T, E>Result<U, E>
F: Fn(T) -> Result<U, E>A function to compute another Result given the current value
and_then(self, op: F)
Result<T, E>Result<T, F>
O: Fn(E) -> FA function to compute a new error value given the old error value
map_err(self, op: D)
Result<T, E>Result<T, F>
Result<T, F>Another Result
or(self, res: Result<T, F>)
Result<T, E>Result<T, F>
O: Fn(E) -> Result<T, F>A function to compute another Result given the current error
or_else(self, op: O)
Result<Option<T>, E>Option<Result<T, E>>
transpose(self)