pub fn type_hash_of(&self) -> Option<Hash> {
        match &self.kind {
            CompileMetaKind::UnitStruct { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::TupleStruct { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Struct { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Enum { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Function { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Closure { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::AsyncBlock { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::UnitVariant { .. } => None,
            CompileMetaKind::TupleVariant { .. } => None,
            CompileMetaKind::StructVariant { .. } => None,
            CompileMetaKind::Const { .. } => None,
            CompileMetaKind::ConstFn { .. } => None,
            CompileMetaKind::Import { .. } => None,
        }
    }
/// Get the type hash of the base type (the one to type check for) for the
/// given compile meta.
///
/// Note: Variants cannot be used for type checking, you should instead
/// compare them against the enum type.
Get the type hash of the base type (the one to type check for) for the
given compile meta.

Variants cannot be used for type checking, you should instead
compare them against the enum type.
Get the type hash of the base type ( the one to type check for ) for the given compile meta . Variants cannot be used for type checking you should instead compare them against the enum type .
pub fn type_hash_of(&self) -> Option<Hash> {
        match &self.kind {
            CompileMetaKind::UnitStruct { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::TupleStruct { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Struct { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Enum { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Function { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::Closure { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::AsyncBlock { type_hash, .. } => Some(*type_hash),
            CompileMetaKind::UnitVariant { .. } => None,
            CompileMetaKind::TupleVariant { .. } => None,
            CompileMetaKind::StructVariant { .. } => None,
            CompileMetaKind::Const { .. } => None,
            CompileMetaKind::ConstFn { .. } => None,
            CompileMetaKind::Import { .. } => None,
        }
    }
pub fn type_hash_of ( & self ) -> Option < Hash > { match & self . kind { CompileMetaKind :: UnitStruct { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: TupleStruct { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: Struct { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: Enum { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: Function { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: Closure { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: AsyncBlock { type_hash , .. } => Some ( * type_hash ) , CompileMetaKind :: UnitVariant { .. } => None , CompileMetaKind :: TupleVariant { .. } => None , CompileMetaKind :: StructVariant { .. } => None , CompileMetaKind :: Const { .. } => None , CompileMetaKind :: ConstFn { .. } => None , CompileMetaKind :: Import { .. } => None , } }
Get the type hash of the base type (the one to type check for) for the
given compile meta.
Get the type hash of the base type ( the one to type check for ) for the given compile meta .
&self
&self