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) + Sync + Send>>>;
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 parse_extended<E>(&self) -> Result<E, Error>
where E: DeserializeOwned { ... }
fn insert_extension<E>(&mut self, ext_value: E) -> Result<(), Error>
where E: Serialize { ... }
}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) + Sync + Send>>>
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 parse_extended<E>(&self) -> Result<E, Error>where
E: DeserializeOwned,
fn insert_extension<E>(&mut self, ext_value: E) -> Result<(), Error>where
E: Serialize,
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.