Skip to main content

RadixType

Trait RadixType 

Source
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§

Required Methods§

Source

fn encode(&self, output: &mut CodecWriter) -> PluginResult<()>

Source

fn decode(input: &mut CodecReader<'_>) -> PluginResult<Self>

Source

fn test_corpus() -> Vec<Self>

Provided Methods§

Source

fn semantic_equal(_left: &Self, _right: &Self) -> Option<bool>

Source

fn semantic_hash( _value: &Self, _sink: &mut HashSink<'_>, ) -> Option<PluginResult<()>>

Source

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".

Implementors§