pub trait RadixType:
Sized
+ Send
+ Sync
+ 'static {
const LOCAL_ID: &'static str;
const DISPLAY_NAME: &'static str;
const CODEC_VERSION: u32;
const SEMANTIC_REVISION: u32;
const STORAGE_KIND: u16;
const FIXED_BYTES: u32;
const MAX_BYTES: u32;
const CAPABILITIES: u64;
const CODEC_FINGERPRINT: [u8; 32];
// Required methods
fn encode(&self, output: &mut CodecWriter) -> PluginResult<()>;
fn decode(input: &mut CodecReader<'_>) -> PluginResult<Self>;
fn test_corpus() -> Vec<Self>;
// Provided methods
fn semantic_equal(_left: &Self, _right: &Self) -> Option<bool> { ... }
fn semantic_hash(
_value: &Self,
_sink: &mut HashSink<'_>,
) -> Option<PluginResult<()>> { ... }
fn semantic_compare(_left: &Self, _right: &Self) -> Option<Ordering> { ... }
}Required Associated Constants§
const LOCAL_ID: &'static str
const DISPLAY_NAME: &'static str
const CODEC_VERSION: u32
const SEMANTIC_REVISION: u32
const STORAGE_KIND: u16
const FIXED_BYTES: u32
const MAX_BYTES: u32
const CAPABILITIES: u64
const CODEC_FINGERPRINT: [u8; 32]
Required Methods§
fn encode(&self, output: &mut CodecWriter) -> PluginResult<()>
fn decode(input: &mut CodecReader<'_>) -> PluginResult<Self>
fn test_corpus() -> Vec<Self>
Provided Methods§
fn semantic_equal(_left: &Self, _right: &Self) -> Option<bool>
fn semantic_hash( _value: &Self, _sink: &mut HashSink<'_>, ) -> Option<PluginResult<()>>
fn semantic_compare(_left: &Self, _right: &Self) -> Option<Ordering>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".