pub trait ChainSpecExtension:
Serialize
+ DeserializeOwned
+ Clone {
type Forks: IsForks;
// Required methods
fn get<T>(&self) -> Option<&T>
where T: 'static;
fn get_any(&self, t: TypeId) -> &(dyn Any + 'static);
fn get_any_mut(&mut self, t: TypeId) -> &mut (dyn Any + 'static);
// Provided method
fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>>
where BlockNumber: Ord + Clone + 'static,
T: Group + 'static,
<Self::Forks as IsForks>::Extension: Extension,
<<Self::Forks as IsForks>::Extension as Group>::Fork: Extension { ... }
}Expand description
A collection of ChainSpec extensions.
This type can be passed around and allows the core modules to request a strongly-typed, but optional configuration.
Required Associated Types§
Required Methods§
Sourcefn get_any(&self, t: TypeId) -> &(dyn Any + 'static)
fn get_any(&self, t: TypeId) -> &(dyn Any + 'static)
Get an extension of specific type as reference to Any.
Sourcefn get_any_mut(&mut self, t: TypeId) -> &mut (dyn Any + 'static)
fn get_any_mut(&mut self, t: TypeId) -> &mut (dyn Any + 'static)
Get an extension of specific type as mutable reference to Any.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.