Jul 5, 2024
&Option<T> and Option<&T>&Option<T> and Option<&T>&Option<T>, always use Option<&T>Option<&T> is preferredDataCopy or Clonecrunch -> returns an integerWidget
Option<Data>data_a and data_bdata_a: returns a &Option<Data>data_b: returns an Option<&Data>as_ref to convert between types&Option<Data>: reference to the option, allows changes to option stateOption<&Data>: reference to data if it exists, no changes to option state&mut Option<Data> vs Option<&mut Data>Option<&T>as_ref themselvesOption<Data> to Option<Box<Data>>Widget
data_a: must use as_ref for further operationsdata_b: works directly, easier to useOption Types in Parameters&Option<T> vs Option<&T> for function params
Option when using &Option<T>Option<&T>Option<&T> uses null pointer optimization&Option<T> in APIsOption<&T> for flexibility, encapsulation, and ease of use&Option<T> in comments.