pub trait TypeAlloc<T: TypePtr>: Sized {
    type Elem;

    // Required method
    fn alloc_extend(
        iter: impl IntoIterator<Item = Self::Elem>,
        context: &mut (impl ?Sized + TypeContext<T::Id, T>)
    ) -> Self;
}

Required Associated Types§

Required Methods§

source

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'ast, T> TypeAlloc<T> for &'ast mut [T]
where T: TypePtr + TypePtr<Types = Self>,

§

type Elem = T

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

source§

impl<'ast, T> TypeAlloc<T> for &'ast mut [Field<<T as TypePtr>::SpannedId, Alias<<T as TypePtr>::Id, T>>]
where T: TypePtr + TypePtr<TypeFields = Self>,

§

type Elem = Field<<T as TypePtr>::SpannedId, Alias<<T as TypePtr>::Id, T>>

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

source§

impl<'ast, T> TypeAlloc<T> for &'ast mut [Field<<T as TypePtr>::SpannedId, T>]
where T: TypePtr + TypePtr<Fields = Self>,

§

type Elem = Field<<T as TypePtr>::SpannedId, T>

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

source§

impl<'ast, T> TypeAlloc<T> for &'ast mut [Generic<<T as TypePtr>::Id>]
where T: TypePtr + TypePtr<Generics = Self>,

§

type Elem = Generic<<T as TypePtr>::Id>

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

source§

impl<T> TypeAlloc<T> for Vec<Field<<T as TypePtr>::SpannedId, Alias<<T as TypePtr>::Id, T>>>
where T: TypePtr + TypePtr<TypeFields = Self>,

§

type Elem = Field<<T as TypePtr>::SpannedId, Alias<<T as TypePtr>::Id, T>>

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

source§

impl<T> TypeAlloc<T> for Vec<Field<<T as TypePtr>::SpannedId, T>>
where T: TypePtr + TypePtr<Fields = Self>,

§

type Elem = Field<<T as TypePtr>::SpannedId, T>

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

source§

impl<T> TypeAlloc<T> for Vec<Generic<<T as TypePtr>::Id>>
where T: TypePtr + TypePtr<Generics = Self>,

§

type Elem = Generic<<T as TypePtr>::Id>

source§

fn alloc_extend( iter: impl IntoIterator<Item = Self::Elem>, context: &mut (impl ?Sized + TypeContext<T::Id, T>) ) -> Self

Implementors§

source§

impl<T> TypeAlloc<T> for AppVec<T>
where T: TypePtr + TypePtr<Types = Self>,

§

type Elem = T