pub trait ExtensionAware {
// Required methods
fn extensions(&self) -> &ExtensionContainer;
fn extensions_mut(&mut self) -> &mut ExtensionContainer;
// Provided methods
fn extension<E: Extension>(&self) -> ProjectResult<&E> { ... }
fn extension_mut<E: Extension>(&mut self) -> ProjectResult<&mut E> { ... }
}
Expand description
A type that contains extensions
Required Methods§
Sourcefn extensions(&self) -> &ExtensionContainer
fn extensions(&self) -> &ExtensionContainer
Gets the extension container
Sourcefn extensions_mut(&mut self) -> &mut ExtensionContainer
fn extensions_mut(&mut self) -> &mut ExtensionContainer
Gets a mutable reference to the extension container
Provided Methods§
Sourcefn extension<E: Extension>(&self) -> ProjectResult<&E>
fn extension<E: Extension>(&self) -> ProjectResult<&E>
If a single extension is registered with a given type, a reference to that value is returned
as Some(_)
Sourcefn extension_mut<E: Extension>(&mut self) -> ProjectResult<&mut E>
fn extension_mut<E: Extension>(&mut self) -> ProjectResult<&mut E>
If a single extension is registered with a given type, a mutable reference to that value is returned
as Some(_)
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.