Trait Extendible
pub trait Extendible:
Sized
+ Serialize
+ 'static {
// Required methods
fn schema_mut() -> &'static LazyLock<RwLock<Object>>;
fn validators( ) -> &'static RwLock<Vec<Box<dyn Fn(&Map<String, Value>, &mut dyn FnMut() -> Path, &mut Report) + Send + Sync>>>;
fn overlay_map_mut(&mut self) -> &mut Map<String, Value>;
fn overlay_map(&self) -> &Map<String, Value>;
// Provided methods
fn merged_schema() -> RefOr<Schema> { ... }
fn get_extended<E>(&self) -> Result<E, Error>
where E: DeserializeOwned { ... }
}Required Methods§
fn schema_mut() -> &'static LazyLock<RwLock<Object>>
fn validators() -> &'static RwLock<Vec<Box<dyn Fn(&Map<String, Value>, &mut dyn FnMut() -> Path, &mut Report) + Send + Sync>>>
fn overlay_map_mut(&mut self) -> &mut Map<String, Value>
fn overlay_map(&self) -> &Map<String, Value>
Provided Methods§
fn merged_schema() -> RefOr<Schema>
fn get_extended<E>(&self) -> Result<E, Error>where
E: DeserializeOwned,
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.