Struct sway_core::language::ty::TyStorageDeclaration
source · pub struct TyStorageDeclaration {
pub fields: Vec<TyStorageField>,
pub span: Span,
pub attributes: AttributesMap,
/* private fields */
}
Fields§
§fields: Vec<TyStorageField>
§span: Span
§attributes: AttributesMap
Implementations§
source§impl TyStorageDeclaration
impl TyStorageDeclaration
pub fn new( fields: Vec<TyStorageField>, span: Span, attributes: AttributesMap ) -> Self
sourcepub fn apply_storage_load(
&self,
type_engine: &TypeEngine,
decl_engine: &DeclEngine,
fields: Vec<Ident>,
storage_fields: &[TyStorageField]
) -> CompileResult<(TyStorageAccess, TypeId)>
pub fn apply_storage_load( &self, type_engine: &TypeEngine, decl_engine: &DeclEngine, fields: Vec<Ident>, storage_fields: &[TyStorageField] ) -> CompileResult<(TyStorageAccess, TypeId)>
Given a field, find its type information in the declaration and return it. If the field has not been declared as a part of storage, return an error.
Trait Implementations§
source§impl Clone for TyStorageDeclaration
impl Clone for TyStorageDeclaration
source§fn clone(&self) -> TyStorageDeclaration
fn clone(&self) -> TyStorageDeclaration
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for TyStorageDeclaration
impl Debug for TyStorageDeclaration
source§impl DeclEngineIndex<TyStorageDeclaration> for DeclEngine
impl DeclEngineIndex<TyStorageDeclaration> for DeclEngine
fn get(&self, index: DeclId<TyStorageDeclaration>) -> TyStorageDeclaration
fn replace(&self, index: DeclId<TyStorageDeclaration>, decl: TyStorageDeclaration)
fn insert( &self, decl: TyStorageDeclaration ) -> DeclRef<DeclId<TyStorageDeclaration>>
Auto Trait Implementations§
impl RefUnwindSafe for TyStorageDeclaration
impl Send for TyStorageDeclaration
impl Sync for TyStorageDeclaration
impl Unpin for TyStorageDeclaration
impl UnwindSafe for TyStorageDeclaration
Blanket Implementations§
source§impl<T> AnyDebug for Twhere
T: Any + Debug,
impl<T> AnyDebug for Twhere T: Any + Debug,
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Returns a reference to the underlying type as
Any
.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.