pub trait WaveObj: Serialize + for<'de> Deserialize<'de> {
// Required methods
fn get_otype() -> &'static str;
fn get_oid(&self) -> &str;
fn set_oid(&mut self, oid: String);
fn get_version(&self) -> i64;
fn set_version(&mut self, version: i64);
fn get_meta(&self) -> &HashMap<String, Value>;
fn set_meta(&mut self, meta: HashMap<String, Value>);
// Provided method
fn oref(&self) -> ORef { ... }
}Expand description
Rust equivalent of Go’s WaveObj interface.
Every wave object has an otype, an OID, a version, and metadata.
Required Methods§
fn get_otype() -> &'static str
fn get_oid(&self) -> &str
fn set_oid(&mut self, oid: String)
fn get_version(&self) -> i64
fn set_version(&mut self, version: i64)
fn get_meta(&self) -> &HashMap<String, Value>
fn set_meta(&mut self, meta: HashMap<String, Value>)
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.