Struct sp_runtime_interface::wasm::ExchangeableFunction [−][src]
pub struct ExchangeableFunction<T>(_);
Expand description
A function which implementation can be exchanged.
Internally this works by swapping function pointers.
Implementations
Replace the implementation with new_impl.
Panics
Panics when trying to replace an already replaced implementation.
Returns
Returns the original implementation wrapped in RestoreImplementation.
Trait Implementations
Auto Trait Implementations
impl<T> !RefUnwindSafe for ExchangeableFunction<T>impl<T> Send for ExchangeableFunction<T> where
T: Send, impl<T> Unpin for ExchangeableFunction<T> where
T: Unpin, impl<T> UnwindSafe for ExchangeableFunction<T> where
T: UnwindSafe, Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any, Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
pub fn vzip(self) -> V