pub struct ParamSignature {
pub ty: ConcreteTypeId,
pub allow_deferred: bool,
pub allow_add_const: bool,
pub allow_const: bool,
}
Expand description
Information regarding a parameter of the libfunc.
Fields§
§ty: ConcreteTypeId
The type of the parameter.
allow_deferred: bool
Whether the libfunc argument can be an expression of the form [ap/fp + i] + [ap/fp + j]
.
For example, store_temp()
and store_local()
.
allow_add_const: bool
Whether the libfunc argument can be an expression of the form [ap + i] + const
.
allow_const: bool
Whether the libfunc argument can be a constant.
Implementations§
source§impl ParamSignature
impl ParamSignature
sourcepub fn new(ty: ConcreteTypeId) -> Self
pub fn new(ty: ConcreteTypeId) -> Self
Returns a ParamSignature with default attributes.
sourcepub fn with_allow_deferred(self) -> Self
pub fn with_allow_deferred(self) -> Self
Returns a modified version of ParamSignature, with the allow_deferred
flag set.
sourcepub fn with_allow_add_const(self) -> Self
pub fn with_allow_add_const(self) -> Self
Returns a modified version of ParamSignature, with the allow_add_const
flag set.
sourcepub fn with_allow_const(self) -> Self
pub fn with_allow_const(self) -> Self
Returns a modified version of ParamSignature, with the allow_const
flag set.
sourcepub fn with_allow_all(self) -> Self
pub fn with_allow_all(self) -> Self
Returns a modified version of ParamSignature, with all attributes set.
Trait Implementations§
source§impl Clone for ParamSignature
impl Clone for ParamSignature
source§fn clone(&self) -> ParamSignature
fn clone(&self) -> ParamSignature
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 From<ConcreteTypeId> for ParamSignature
impl From<ConcreteTypeId> for ParamSignature
source§fn from(ty: ConcreteTypeId) -> Self
fn from(ty: ConcreteTypeId) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ParamSignature
impl RefUnwindSafe for ParamSignature
impl Send for ParamSignature
impl Sync for ParamSignature
impl Unpin for ParamSignature
impl UnwindSafe for ParamSignature
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more