Enum holochain_zome_types::zome::ZomeDef [−][src]
pub enum ZomeDef { Wasm(WasmZome), Inline(Arc<InlineZome>), }
Expand description
Just the definition of a Zome, without the name included. This exists mainly for use in HashMaps where ZomeDefs are keyed by ZomeName.
NB: Only Wasm Zomes are valid to pass through round-trip serialization, because Rust functions are not serializable. Hence, this enum serializes as if it were a bare WasmZome, and when deserializing, only Wasm zomes can be produced. InlineZomes are serialized as their UID, so that a hash can be computed, but it is invalid to attempt to deserialize them again.
In particular, a real-world DnaFile should only ever contain Wasm zomes!
Variants
A zome defined by Wasm bytecode
Tuple Fields of Wasm
0: WasmZome
A zome defined by Rust closures. Cannot be deserialized.
Tuple Fields of Inline
0: Arc<InlineZome>
Implementations
If this is a Wasm zome, return the WasmHash. If not, return an error with the provided zome name
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Performs the conversion.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl !RefUnwindSafe for ZomeDef
impl !UnwindSafe for ZomeDef
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more