Struct gluon_base::types::ArcType
[−]
[src]
pub struct ArcType<Id = Symbol> { /* fields omitted */ }
A shared type which is atomically reference counted
Methods
impl<Id> ArcType<Id>
[src]
fn new(typ: Type<Id, ArcType<Id>>) -> ArcType<Id>
[src]
fn type_field_iter(&self) -> TypeFieldIterator<Self>
[src]
Returns an iterator over all type fields in a record.
{ Test, Test2, x, y } => [Test, Test2]
fn row_iter(&self) -> RowIterator<Self>
[src]
Returns an iterator over all fields in a record.
{ Test, Test2, x, y } => [x, y]
fn strong_count(typ: &ArcType<Id>) -> usize
[src]
fn pretty<'a>(&'a self, arena: &'a Arena<'a>) -> DocBuilder<'a, Arena<'a>> where
Id: AsRef<str>,
[src]
Id: AsRef<str>,
impl<Id> ArcType<Id>
[src]
fn level(&self) -> u32
[src]
Returns the lowest level which this type contains. The level informs from where type variables where created.
Methods from Deref<Target = Type<Id, ArcType<Id>>>
fn as_function(&self) -> Option<(&T, &T)>
[src]
fn unapplied_args(&self) -> &[T]
[src]
fn alias_ident(&self) -> Option<&Id>
[src]
fn is_non_polymorphic_record(&self) -> bool
[src]
fn name(&self) -> Option<&SymbolRef>
[src]
Returns the name of self
Example:
Option a => Option
Int => Int
fn kind(&self) -> Cow<ArcKind>
[src]
Trait Implementations
impl<Id: Eq> Eq for ArcType<Id>
[src]
impl<Id: PartialEq> PartialEq for ArcType<Id>
[src]
fn eq(&self, __arg_0: &ArcType<Id>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ArcType<Id>) -> bool
[src]
This method tests for !=
.
impl<Id: Hash> Hash for ArcType<Id>
[src]
fn hash<__HId: Hasher>(&self, __arg_0: &mut __HId)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<Id> Clone for ArcType<Id>
[src]
fn clone(&self) -> ArcType<Id>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<Id: Debug> Debug for ArcType<Id>
[src]
impl<Id: AsRef<str>> Display for ArcType<Id>
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<Id> Deref for ArcType<Id>
[src]
type Target = Type<Id, ArcType<Id>>
The resulting type after dereferencing.
fn deref(&self) -> &Type<Id, ArcType<Id>>
[src]
Dereferences the value.
impl<Id> HasSpan for ArcType<Id>
[src]
impl<Id> Commented for ArcType<Id>
[src]
impl<Id> From<Type<Id, ArcType<Id>>> for ArcType<Id>
[src]
impl<'a, I> ToDoc<'a, Arena<'a>, ()> for ArcType<I> where
I: AsRef<str>,
[src]
I: AsRef<str>,
impl<'a, 'e, I> ToDoc<'a, Arena<'a>, &'e Source<'a>> for ArcType<I> where
I: AsRef<str>,
[src]
I: AsRef<str>,