Trait emf_core_base_rs::extensions::unwind_internal::UnwindInternalContextAPI [−][src]
pub trait UnwindInternalContextAPI<'interface> { fn setup_unwind<T, U>(
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> U
where
T: CBaseAPI<'interface>; fn catch_unwind<T, U>(
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> Result<U, Signal>
where
T: CBaseAPI<'interface>; }
Interface of a unwinding context.
Required methods
fn setup_unwind<T, U>(
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> U where
T: CBaseAPI<'interface>,
[src]
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> U where
T: CBaseAPI<'interface>,
Sets up the unwinding for the closure f
Any panic or termination signal, that occurs within f
, is propagated.
Return
Return value from f
.
fn catch_unwind<T, U>(
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> Result<U, Signal> where
T: CBaseAPI<'interface>,
[src]
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> Result<U, Signal> where
T: CBaseAPI<'interface>,
Sets up the unwinding for the closure f
Any panic or termination signal, that occurs within f
, is caught and returned.
Return
Return value from f
or caught signal.
Implementors
impl<'interface> UnwindInternalContextAPI<'interface> for DefaultContext
[src]
impl<'interface> UnwindInternalContextAPI<'interface> for DefaultContext
[src]fn setup_unwind<T, U>(
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> U where
T: CBaseAPI<'interface>,
[src]
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> U where
T: CBaseAPI<'interface>,
fn catch_unwind<T, U>(
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> Result<U, Signal> where
T: CBaseAPI<'interface>,
[src]
&self,
extension: &mut impl UnwindInternalAPI<'interface>,
interface: &mut T,
f: impl FnOnce(&mut T) -> U + UnwindSafe
) -> Result<U, Signal> where
T: CBaseAPI<'interface>,