Enum holochain_zome_types::zome::ZomeDef
source · [−]pub enum ZomeDef {
Wasm(WasmZome),
Inline {
inline_zome: DynInlineZome,
dependencies: Vec<ZomeName>,
},
}
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
Wasm(WasmZome)
A zome defined by Wasm bytecode
Inline
A zome defined by Rust closures. Cannot be deserialized.
Implementations
sourceimpl ZomeDef
impl ZomeDef
sourcepub fn wasm_hash(&self, _zome_name: &ZomeName) -> ZomeResult<WasmHash>
pub fn wasm_hash(&self, _zome_name: &ZomeName) -> ZomeResult<WasmHash>
If this is a Wasm zome, return the WasmHash. If not, return an error with the provided zome name
sourcepub fn dependencies(&self) -> &[ZomeName]
pub fn dependencies(&self) -> &[ZomeName]
Get the dependencies of this zome.
Trait Implementations
sourceimpl<'a> Arbitrary<'a> for ZomeDef
impl<'a> Arbitrary<'a> for ZomeDef
sourcefn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
Generate an arbitrary value of Self
from the given unstructured data. Read more
sourcefn 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 more
sourceimpl<'de> Deserialize<'de> for ZomeDef
impl<'de> Deserialize<'de> for ZomeDef
sourcefn 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
sourceimpl From<InlineZome<CoordinatorZomeMarker>> for ZomeDef
impl From<InlineZome<CoordinatorZomeMarker>> for ZomeDef
sourcefn from(iz: InlineCoordinatorZome) -> Self
fn from(iz: InlineCoordinatorZome) -> Self
Converts to this type from the input type.
sourceimpl From<InlineZome<IntegrityZomeMarker>> for ZomeDef
impl From<InlineZome<IntegrityZomeMarker>> for ZomeDef
sourcefn from(iz: InlineIntegrityZome) -> Self
fn from(iz: InlineIntegrityZome) -> Self
Converts to this type from the input type.
sourceimpl From<ZomeDef> for CoordinatorZomeDef
impl From<ZomeDef> for CoordinatorZomeDef
sourceimpl From<ZomeDef> for IntegrityZomeDef
impl From<ZomeDef> for IntegrityZomeDef
sourceimpl Ord for ZomeDef
impl Ord for ZomeDef
sourceimpl PartialOrd<ZomeDef> for ZomeDef
impl PartialOrd<ZomeDef> for ZomeDef
sourcefn partial_cmp(&self, other: &ZomeDef) -> Option<Ordering>
fn partial_cmp(&self, other: &ZomeDef) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn 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 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> 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.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
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
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
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<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more