Trait gluon_base::ast::AstClone

source ·
pub trait AstClone<'ast, Id> {
    // Required method
    fn ast_clone(&self, arena: ArenaRef<'_, 'ast, Id>) -> Self;
}

Required Methods§

source

fn ast_clone(&self, arena: ArenaRef<'_, 'ast, Id>) -> Self

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'ast, Id> AstClone<'ast, Id> for bool

source§

fn ast_clone(&self, _arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id> AstClone<'ast, Id> for u32

source§

fn ast_clone(&self, _arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id> AstClone<'ast, Id> for usize

source§

fn ast_clone(&self, _arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id, T> AstClone<'ast, Id> for &'ast mut [T]
where T: AstClone<'ast, Id> + AstAlloc<'ast, Id>,

source§

fn ast_clone(&self, arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id, T> AstClone<'ast, Id> for Option<T>
where T: AstClone<'ast, Id>,

source§

fn ast_clone(&self, arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id, T> AstClone<'ast, Id> for &'ast mut T
where T: AstClone<'ast, Id> + AstAlloc<'ast, Id>,

source§

fn ast_clone(&self, arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id, T> AstClone<'ast, Id> for Arc<[AliasData<Id, T>]>
where Id: Clone + AstClone<'ast, Id>, T: AstClone<'ast, Id> + TypePtr<Id = Id>, T::Generics: AstClone<'ast, Id>,

source§

fn ast_clone(&self, arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id, T> AstClone<'ast, Id> for Vec<T>
where T: Clone,

source§

fn ast_clone(&self, _arena: ArenaRef<'_, 'ast, Id>) -> Self

source§

impl<'ast, Id, T> AstClone<'ast, Id> for PhantomData<T>

source§

fn ast_clone(&self, _arena: ArenaRef<'_, 'ast, Id>) -> Self

Implementors§

source§

impl<'ast, Id> AstClone<'ast, Id> for ArgType

source§

impl<'ast, Id> AstClone<'ast, Id> for BuiltinType

source§

impl<'ast, Id> AstClone<'ast, Id> for Expr<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for Literal

source§

impl<'ast, Id> AstClone<'ast, Id> for Pattern<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for PatternField<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for ValueBindings<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for ArcKind

source§

impl<'ast, Id> AstClone<'ast, Id> for BaseMetadata<'ast>
where Id: Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for Metadata

source§

impl<'ast, Id> AstClone<'ast, Id> for BytePos

source§

impl<'ast, Id> AstClone<'ast, Id> for Symbol

source§

impl<'ast, Id> AstClone<'ast, Id> for ArcType<Id>

source§

impl<'ast, Id> AstClone<'ast, Id> for Generic<Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for Skolem<Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for TypeVariable

source§

impl<'ast, Id> AstClone<'ast, Id> for Alternative<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for Array<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for AstType<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for Do<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for InnerAstType<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for Lambda<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for TypeBinding<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id> AstClone<'ast, Id> for ValueBinding<'ast, Id>
where Id: AstClone<'ast, Id> + Clone,

source§

impl<'ast, Id, E> AstClone<'ast, Id> for ExprField<'ast, Id, E>
where Id: AstClone<'ast, Id> + Clone, E: AstClone<'ast, Id>,

source§

impl<'ast, Id, FieldId, T> AstClone<'ast, Id> for Field<FieldId, T>
where FieldId: AstClone<'ast, Id>, T: AstClone<'ast, Id>, Id: Clone,

source§

impl<'ast, Id, N> AstClone<'ast, Id> for Argument<N>
where N: AstClone<'ast, Id>, Id: Clone,

source§

impl<'ast, Id, T> AstClone<'ast, Id> for Type<Id, T>
where Id: AstClone<'ast, Id> + Clone, T: AstClone<'ast, Id> + TypePtr<Id = Id>, T::Generics: AstClone<'ast, Id>, T::Types: AstClone<'ast, Id>, T::Fields: AstClone<'ast, Id>, T::TypeFields: AstClone<'ast, Id>,

source§

impl<'ast, Id, T> AstClone<'ast, Id> for Alias<Id, T>
where Id: AstClone<'ast, Id> + Clone, T: AstClone<'ast, Id>,

source§

impl<'ast, Id, T> AstClone<'ast, Id> for AliasData<Id, T>
where Id: AstClone<'ast, Id> + Clone, T: AstClone<'ast, Id> + TypePtr<Id = Id>, T::Generics: AstClone<'ast, Id>,

source§

impl<'ast, Id, T> AstClone<'ast, Id> for AliasRef<Id, T>
where T: TypePtr<Id = Id> + AstClone<'ast, Id>, Id: AstClone<'ast, Id> + Clone, T::Generics: AstClone<'ast, Id>,

source§

impl<'ast, Id, T> AstClone<'ast, Id> for TypedIdent<Id, T>
where Id: Clone, T: AstClone<'ast, Id>,

source§

impl<'ast, Id, T> AstClone<'ast, Id> for AppVec<T>
where T: Clone,

source§

impl<'ast, Id, T, P> AstClone<'ast, Id> for Spanned<T, P>
where T: AstClone<'ast, Id>, P: Clone,