pub trait Extension: Send + 'static {
    // Required methods
    fn as_mut_any(&mut self) -> &mut dyn Any;
    fn type_id(&self) -> TypeId;
}
Expand description

Marker trait for types that should be registered as Externalities extension.

As extensions are stored as Box<Any>, this trait should give more confidence that the correct type is registered and requested.

Required Methods§

source

fn as_mut_any(&mut self) -> &mut dyn Any

Return the extension as &mut dyn Any.

This is a trick to make the trait type castable into an Any.

source

fn type_id(&self) -> TypeId

Get the TypeId of this Extension.

Trait Implementations§

source§

impl Extension for Box<dyn Extension>

source§

fn as_mut_any(&mut self) -> &mut dyn Any

Return the extension as &mut dyn Any. Read more
source§

fn type_id(&self) -> TypeId

Get the TypeId of this Extension.

Implementations on Foreign Types§

source§

impl Extension for Box<dyn Extension>

source§

fn as_mut_any(&mut self) -> &mut dyn Any

source§

fn type_id(&self) -> TypeId

Implementors§