pub trait DecodableConfig: StarkProtocolConfig {
// Required methods
fn decode_base_field<R: Read>(reader: &mut R) -> Result<Self::F>;
fn decode_extension_field<R: Read>(reader: &mut R) -> Result<Self::EF>;
fn decode_digest<R: Read>(reader: &mut R) -> Result<Self::Digest>;
// Provided methods
fn decode_base_field_n<R: Read>(
reader: &mut R,
n: usize,
) -> Result<Vec<Self::F>> { ... }
fn decode_extension_field_n<R: Read>(
reader: &mut R,
n: usize,
) -> Result<Vec<Self::EF>> { ... }
fn decode_digest_n<R: Read>(
reader: &mut R,
n: usize,
) -> Result<Vec<Self::Digest>> { ... }
fn decode_base_field_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::F>> { ... }
fn decode_extension_field_vec<R: Read>(
reader: &mut R,
) -> Result<Vec<Self::EF>> { ... }
fn decode_digest_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::Digest>> { ... }
}Expand description
StarkProtocolConfig that has decodable associated types. This is a separate trait to avoid Rust’s orphan rule.
Required Methods§
fn decode_base_field<R: Read>(reader: &mut R) -> Result<Self::F>
fn decode_extension_field<R: Read>(reader: &mut R) -> Result<Self::EF>
fn decode_digest<R: Read>(reader: &mut R) -> Result<Self::Digest>
Provided Methods§
Sourcefn decode_base_field_n<R: Read>(
reader: &mut R,
n: usize,
) -> Result<Vec<Self::F>>
fn decode_base_field_n<R: Read>( reader: &mut R, n: usize, ) -> Result<Vec<Self::F>>
Decode n base field elements (known length, no length prefix).
Sourcefn decode_extension_field_n<R: Read>(
reader: &mut R,
n: usize,
) -> Result<Vec<Self::EF>>
fn decode_extension_field_n<R: Read>( reader: &mut R, n: usize, ) -> Result<Vec<Self::EF>>
Decode n extension field elements (known length, no length prefix).
Sourcefn decode_digest_n<R: Read>(
reader: &mut R,
n: usize,
) -> Result<Vec<Self::Digest>>
fn decode_digest_n<R: Read>( reader: &mut R, n: usize, ) -> Result<Vec<Self::Digest>>
Decode n digests (known length, no length prefix).
Sourcefn decode_base_field_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::F>>
fn decode_base_field_vec<R: Read>(reader: &mut R) -> Result<Vec<Self::F>>
Decode a length-prefixed vector of base field elements.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".