Struct erg_compiler::hir::Def
source · pub struct Def {
pub sig: Signature,
pub body: DefBody,
}
Fields§
§sig: Signature
§body: DefBody
Implementations§
Trait Implementations§
source§impl FromIterator<Def> for RecordAttrs
impl FromIterator<Def> for RecordAttrs
source§impl HasType for Def
impl HasType for Def
fn ref_t(&self) -> &Type
source§fn ref_mut_t(&mut self) -> &mut Type
fn ref_mut_t(&mut self) -> &mut Type
x.ref_mut_t()
may panic, in which case x
is Call
and x.ref_t() == Type::Failure
.fn signature_t(&self) -> Option<&Type>
fn signature_mut_t(&mut self) -> Option<&mut Type>
fn t(&self) -> Type
fn inner_ts(&self) -> Vec<Type>
fn lhs_t(&self) -> &Type
fn rhs_t(&self) -> &Type
source§impl Locational for Def
impl Locational for Def
source§fn loc(&self) -> Location
fn loc(&self) -> Location
NOTE:
loc
cannot be treated as a light method when self
is a large grammatical element.
If possible, delay the computation by passing &impl Locational
or other means.fn ln_begin(&self) -> Option<u32>
fn ln_end(&self) -> Option<u32>
fn col_begin(&self) -> Option<u32>
fn col_end(&self) -> Option<u32>
source§impl NestedDisplay for Def
impl NestedDisplay for Def
source§impl NoTypeDisplay for Def
impl NoTypeDisplay for Def
fn to_string_notype(&self) -> String
source§impl Stream<Def> for RecordAttrs
impl Stream<Def> for RecordAttrs
fn payload(self) -> Vec<Def>
fn ref_payload(&self) -> &Vec<Def>
fn ref_mut_payload(&mut self) -> &mut Vec<Def>
fn clear(&mut self)
fn len(&self) -> usize
fn size(&self) -> usize
fn is_empty(&self) -> bool
fn insert(&mut self, idx: usize, elem: T)
fn remove(&mut self, idx: usize) -> T
fn push(&mut self, elem: T)
fn append<S>(&mut self, s: &mut S)where S: Stream<T>,
fn pop(&mut self) -> Option<T>
fn lpop(&mut self) -> Option<T>
fn get(&self, idx: usize) -> Option<&T>
fn get_mut(&mut self, idx: usize) -> Option<&mut T>
fn first(&self) -> Option<&T>
fn first_mut(&mut self) -> Option<&mut T>
fn last(&self) -> Option<&T>
fn last_mut(&mut self) -> Option<&mut T>
fn iter(&self) -> Iter<'_, T>
fn iter_mut(&mut self) -> IterMut<'_, T>
fn take_all(&mut self) -> Vec<T, Global>
fn extend<I>(&mut self, iter: I)where I: IntoIterator<Item = T>,
fn split_off(&mut self, at: usize) -> Vec<T, Global>
impl Eq for Def
impl StructuralEq for Def
impl StructuralPartialEq for Def
Auto Trait Implementations§
impl !RefUnwindSafe for Def
impl !Send for Def
impl !Sync for Def
impl Unpin for Def
impl !UnwindSafe for Def
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