---
source: crates/oopsie-macros/src/derive/mod.rs
expression: output
---
# [doc = "Context selector for `GenericError::Wrap`."] # [derive (Debug)] pub struct Wrap < T > { # [doc = "Value for the `payload` field of `GenericError::Wrap`.\n\nField type: `T`"] pub payload : T } impl < T > Wrap < T > where T : :: core :: fmt :: Debug { # [doc = "Builds `GenericError::Wrap` from this selector's fields."] # [must_use] # [track_caller] pub fn build < E > (self) -> GenericError < T , E > where E : :: core :: error :: Error { GenericError :: Wrap { payload : self . payload , } } # [doc = "Builds `GenericError::Wrap` and returns it as `Err`."] # [track_caller] pub fn fail < __T , E > (self) -> :: core :: result :: Result < __T , GenericError < T , E > > where E : :: core :: error :: Error { :: core :: result :: Result :: Err (self . build ()) } } impl < T , E > :: core :: convert :: From < E > for GenericError < T , E > where T : :: core :: fmt :: Debug , E : :: core :: error :: Error , { # [doc = "Converts `E` into `GenericError::Inner`."] # [track_caller] fn from (source : E) -> Self { let source = source ; GenericError :: Inner { source , } } } impl < T , E > :: core :: fmt :: Display for GenericError < T , E > where T : :: core :: fmt :: Debug , E : :: core :: error :: Error , { fn fmt (& self , __oopsie_fmt : & mut :: core :: fmt :: Formatter < '_ >) -> :: core :: fmt :: Result { match self { # [allow (unused_variables)] Self :: Wrap { payload , .. } => :: core :: write ! (__oopsie_fmt , "payload was {payload:?}") , # [allow (unused_variables)] Self :: Inner { source , .. } => :: core :: write ! (__oopsie_fmt , "inner failed") , } } } impl < T , E > :: core :: error :: Error for GenericError < T , E > where T : :: core :: fmt :: Debug , E : :: core :: error :: Error , { fn source (& self) -> :: core :: option :: Option < & (dyn :: core :: error :: Error + 'static) > { use :: oopsie :: AsErrorSource as _ ; match self { Self :: Wrap { .. } => :: core :: option :: Option :: None , Self :: Inner { source , .. } => :: core :: option :: Option :: Some (source . as_error_source ()) , } } } impl < T , E > :: oopsie :: Diagnostic for GenericError < T , E > where T : :: core :: fmt :: Debug , E : :: core :: error :: Error { fn oopsie_backtrace (& self) -> :: core :: option :: Option < & :: oopsie :: Backtrace > { use :: oopsie :: AsErrorSource as _ ; match self { Self :: Inner { source , .. } => :: oopsie :: __private :: source_backtrace (source . as_error_source ()) . or ({ use :: oopsie :: __private :: { DiagForwardExt as _ , DiagForwardFallback as _ } ; (& :: oopsie :: __private :: DiagProbe (source)) . fwd_backtrace () }) , _ => :: core :: option :: Option :: None , } } fn oopsie_spantrace (& self) -> :: core :: option :: Option < & :: oopsie :: SpanTrace > { use :: oopsie :: AsErrorSource as _ ; match self { Self :: Inner { source , .. } => :: oopsie :: __private :: source_spantrace (source . as_error_source ()) . or ({ use :: oopsie :: __private :: { DiagForwardExt as _ , DiagForwardFallback as _ } ; (& :: oopsie :: __private :: DiagProbe (source)) . fwd_spantrace () }) , _ => :: core :: option :: Option :: None , } } fn oopsie_location (& self) -> :: core :: option :: Option < & 'static :: core :: panic :: Location < 'static >> { match self { Self :: Inner { source , .. } => { use :: oopsie :: __private :: { DiagForwardExt as _ , DiagForwardFallback as _ } ; (& :: oopsie :: __private :: DiagProbe (source)) . fwd_location () } , _ => :: core :: option :: Option :: None , } } fn oopsie_error_code (& self) -> :: core :: option :: Option < :: oopsie :: ErrorCode > { match self { Self :: Inner { source , .. } => { use :: oopsie :: __private :: { DiagForwardExt as _ , DiagForwardFallback as _ } ; (& :: oopsie :: __private :: DiagProbe (source)) . fwd_code () } , _ => :: core :: option :: Option :: None , } } fn oopsie_help_text (& self) -> :: core :: option :: Option < :: oopsie :: HelpText > { match self { Self :: Inner { source , .. } => { use :: oopsie :: __private :: { DiagForwardExt as _ , DiagForwardFallback as _ } ; (& :: oopsie :: __private :: DiagProbe (source)) . fwd_help () } , _ => :: core :: option :: Option :: None , } } fn oopsie_exit_code (& self) -> :: core :: option :: Option < :: core :: num :: NonZeroU8 > { match self { Self :: Inner { source , .. } => { use :: oopsie :: __private :: { DiagForwardExt as _ , DiagForwardFallback as _ } ; (& :: oopsie :: __private :: DiagProbe (source)) . fwd_exit_code () } , _ => :: core :: option :: Option :: None , } } } # [doc (hidden)] # [allow (unused_imports)] const _ : () = { use :: oopsie :: __private :: documented :: helper :: oopsie as _ ; use :: oopsie :: __private :: documented :: helper :: oopsie as _ ; use :: oopsie :: __private :: documented :: helper :: oopsie as _ ; use :: oopsie :: __private :: documented :: container :: module as _ ; use :: oopsie :: __private :: documented :: variant :: display as _ ; use :: oopsie :: __private :: documented :: variant :: transparent as _ ; } ; :: oopsie :: __register_generated_site ! () ;