pub enum ZomeDef {
Wasm(WasmZome),
Inline {
inline_zome: DynInlineZome,
dependencies: Vec<ZomeName, Global>,
},
}
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 network seed, 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§
Wasm(WasmZome)
A zome defined by Wasm bytecode
Inline
A zome defined by Rust closures. Cannot be deserialized.
Implementations§
Trait Implementations§
source§impl<'a> Arbitrary<'a> for ZomeDef
impl<'a> Arbitrary<'a> for ZomeDef
source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<ZomeDef, Error>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<ZomeDef, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moresource§impl<'de> Deserialize<'de> for ZomeDef
impl<'de> Deserialize<'de> for ZomeDef
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<ZomeDef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ZomeDef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<InlineZome<CoordinatorZomeMarker>> for ZomeDef
impl From<InlineZome<CoordinatorZomeMarker>> for ZomeDef
source§fn from(iz: InlineZome<CoordinatorZomeMarker>) -> ZomeDef
fn from(iz: InlineZome<CoordinatorZomeMarker>) -> ZomeDef
Converts to this type from the input type.
source§impl From<InlineZome<IntegrityZomeMarker>> for ZomeDef
impl From<InlineZome<IntegrityZomeMarker>> for ZomeDef
source§fn from(iz: InlineZome<IntegrityZomeMarker>) -> ZomeDef
fn from(iz: InlineZome<IntegrityZomeMarker>) -> ZomeDef
Converts to this type from the input type.
source§impl From<ZomeDef> for CoordinatorZomeDef
impl From<ZomeDef> for CoordinatorZomeDef
source§fn from(z: ZomeDef) -> CoordinatorZomeDef
fn from(z: ZomeDef) -> CoordinatorZomeDef
Converts to this type from the input type.
source§impl From<ZomeDef> for IntegrityZomeDef
impl From<ZomeDef> for IntegrityZomeDef
source§fn from(z: ZomeDef) -> IntegrityZomeDef
fn from(z: ZomeDef) -> IntegrityZomeDef
Converts to this type from the input type.
source§impl Ord for ZomeDef
impl Ord for ZomeDef
source§impl PartialEq<ZomeDef> for ZomeDef
impl PartialEq<ZomeDef> for ZomeDef
source§impl PartialOrd<ZomeDef> for ZomeDef
impl PartialOrd<ZomeDef> for ZomeDef
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for ZomeDef
impl Serialize for ZomeDef
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for ZomeDef
impl StructuralEq for ZomeDef
impl StructuralPartialEq for ZomeDef
Auto Trait Implementations§
impl !RefUnwindSafe for ZomeDef
impl Send for ZomeDef
impl Sync for ZomeDef
impl Unpin for ZomeDef
impl !UnwindSafe for ZomeDef
Blanket Implementations§
§impl<T> Any for Twhere
T: Any + ?Sized,
impl<T> Any for Twhere
T: Any + ?Sized,
§fn type_id_compat(&self) -> TypeId
fn type_id_compat(&self) -> TypeId
TODO: once 1.33.0 is the minimum supported compiler version, remove
Any::type_id_compat and use StdAny::type_id instead.
https://github.com/rust-lang/rust/issues/27745
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
impl<T> Upcastable for Twhere
T: 'static + Any + Send + Sync,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref