pub trait ToInput: Sized + Model {
// Required methods
fn native_db_model() -> Model;
fn native_db_primary_key(&self) -> Key;
fn native_db_secondary_keys(
&self,
) -> HashMap<KeyDefinition<KeyOptions>, KeyEntry>;
fn native_db_bincode_encode_to_vec(&self) -> Result<Vec<u8>>;
fn native_db_bincode_decode_from_slice(slice: &[u8]) -> Result<Self>;
// Provided method
fn native_db_input(&self) -> Result<Input> { ... }
}
Required Methods§
fn native_db_model() -> Model
fn native_db_primary_key(&self) -> Key
fn native_db_secondary_keys( &self, ) -> HashMap<KeyDefinition<KeyOptions>, KeyEntry>
fn native_db_bincode_encode_to_vec(&self) -> Result<Vec<u8>>
fn native_db_bincode_decode_from_slice(slice: &[u8]) -> Result<Self>
Provided Methods§
fn native_db_input(&self) -> Result<Input>
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.