[][src]Trait gluon_base::types::TypePtr

pub trait TypePtr: Deref<Target = Type<Self::Id, Self>> + Sized {
    type Id;
    type SpannedId;
    type Types: TypeAlloc<Self> + Deref<Target = [Self]> + Default;
    type Generics: TypeAlloc<Self> + Deref<Target = [Generic<Self::Id>]> + Default;
    type Fields: TypeAlloc<Self> + Deref<Target = [Field<Self::SpannedId, Self>]> + Default;
    type TypeFields: TypeAlloc<Self> + Deref<Target = [Field<Self::SpannedId, Alias<Self::Id, Self>>]> + Default;
    fn flags(&self) -> Flags { ... }
fn spine(&self) -> &Self { ... }
fn display<A>(&self, width: usize) -> TypeFormatter<'_, Self::Id, Self, A>
    where
        Self::Id: AsRef<str>,
        Self::SpannedId: AsRef<str>
, { ... } }

Associated Types

type Id

type SpannedId

type Types: TypeAlloc<Self> + Deref<Target = [Self]> + Default

type Generics: TypeAlloc<Self> + Deref<Target = [Generic<Self::Id>]> + Default

type Fields: TypeAlloc<Self> + Deref<Target = [Field<Self::SpannedId, Self>]> + Default

type TypeFields: TypeAlloc<Self> + Deref<Target = [Field<Self::SpannedId, Alias<Self::Id, Self>>]> + Default

Loading content...

Provided methods

fn flags(&self) -> Flags

fn spine(&self) -> &Self

fn display<A>(&self, width: usize) -> TypeFormatter<'_, Self::Id, Self, A> where
    Self::Id: AsRef<str>,
    Self::SpannedId: AsRef<str>, 

Loading content...

Implementors

impl<'ast, Id> TypePtr for AstType<'ast, Id>[src]

type Id = Id

type SpannedId = Spanned<Id, BytePos>

type Types = &'ast mut [AstType<'ast, Id>]

type Generics = &'ast mut [Generic<Id>]

type Fields = &'ast mut [Field<Self::SpannedId, Self>]

type TypeFields = &'ast mut [Field<Self::SpannedId, Alias<Id, Self>>]

impl<Id> TypePtr for ArcType<Id>[src]

type Id = Id

type SpannedId = Id

type Types = AppVec<Self>

type Generics = Vec<Generic<Id>>

type Fields = Vec<Field<Id, Self>>

type TypeFields = Vec<Field<Id, Alias<Id, Self>>>

Loading content...