Struct sway_core::language::ty::TyAbiDeclaration
source · pub struct TyAbiDeclaration {
pub name: Ident,
pub interface_surface: Vec<DeclRef>,
pub supertraits: Vec<Supertrait>,
pub methods: Vec<DeclRef>,
pub span: Span,
pub attributes: AttributesMap,
}
Expand description
A TyAbiDeclaration contains the type-checked version of the parse tree’s AbiDeclaration
.
Fields§
§name: Ident
The name of the abi trait (also known as a “contract trait”)
interface_surface: Vec<DeclRef>
The methods a contract is required to implement in order opt in to this interface
supertraits: Vec<Supertrait>
§methods: Vec<DeclRef>
§span: Span
§attributes: AttributesMap
Trait Implementations§
source§impl Clone for TyAbiDeclaration
impl Clone for TyAbiDeclaration
source§fn clone(&self) -> TyAbiDeclaration
fn clone(&self) -> TyAbiDeclaration
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 TyAbiDeclaration
impl Debug for TyAbiDeclaration
source§impl From<TyAbiDeclaration> for (Ident, DeclWrapper, Span)
impl From<TyAbiDeclaration> for (Ident, DeclWrapper, Span)
source§fn from(value: TyAbiDeclaration) -> Self
fn from(value: TyAbiDeclaration) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl RefUnwindSafe for TyAbiDeclaration
impl Send for TyAbiDeclaration
impl Sync for TyAbiDeclaration
impl Unpin for TyAbiDeclaration
impl UnwindSafe for TyAbiDeclaration
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.