pub trait ESExprCodec<'a>:
ESExprEncodedEq
+ Sized
+ 'a {
const TAGS: ESExprTagSet;
// Required methods
fn encode_esexpr(&'a self) -> ESExpr<'a>;
fn decode_esexpr(expr: ESExpr<'a>) -> Result<Self, DecodeError>;
}Expand description
A codec that encodes and decodes ESExpr values.
Required Associated Constants§
Sourceconst TAGS: ESExprTagSet
const TAGS: ESExprTagSet
The tags of the encoded expressions that this type can produce.
Required Methods§
Sourcefn encode_esexpr(&'a self) -> ESExpr<'a>
fn encode_esexpr(&'a self) -> ESExpr<'a>
Encode this value into an expression.
Sourcefn decode_esexpr(expr: ESExpr<'a>) -> Result<Self, DecodeError>
fn decode_esexpr(expr: ESExpr<'a>) -> Result<Self, DecodeError>
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.