Arena

Struct Arena 

Source
pub struct Arena<'a> { /* private fields */ }
Expand description

An arena.

Trait Implementations§

Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, CallArgData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: CallArg<'a>) -> &'arena mut CallArg<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ClassDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ClassDecl<'a>) -> &'arena mut ClassDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ContAssignData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ContAssign<'a>) -> &'arena mut ContAssign<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DataTypeData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: DataType<'a>) -> &'arena mut DataType<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, DpiDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: DpiDecl<'a>) -> &'arena mut DpiDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Enum<'a>) -> &'arena mut Enum<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, EnumNameData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: EnumName<'a>) -> &'arena mut EnumName<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ExprData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Expr<'a>) -> &'arena mut Expr<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ForeachIndexData>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ForeachIndex<'a>) -> &'arena mut ForeachIndex<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateBlockData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: GenerateBlock<'a>, ) -> &'arena mut GenerateBlock<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateCaseData>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: GenerateCase<'a>) -> &'arena mut GenerateCase<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateForData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: GenerateFor<'a>) -> &'arena mut GenerateFor<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenerateIfData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: GenerateIf<'a>) -> &'arena mut GenerateIf<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, GenvarDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: GenvarDecl<'a>) -> &'arena mut GenvarDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImplicitDataTypeData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: ImplicitDataType<'a>, ) -> &'arena mut ImplicitDataType<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ImportDecl<'a>) -> &'arena mut ImportDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ImportItemData>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ImportItem<'a>) -> &'arena mut ImportItem<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Inst<'a>) -> &'arena mut Inst<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InstNameData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: InstName<'a>) -> &'arena mut InstName<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, InterfaceData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Interface<'a>) -> &'arena mut Interface<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ItemData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Item<'a>) -> &'arena mut Item<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Modport<'a>) -> &'arena mut Modport<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportNameData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ModportName<'a>) -> &'arena mut ModportName<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportPortData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ModportPort<'a>) -> &'arena mut ModportPort<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModportSimplePortData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: ModportSimplePort<'a>, ) -> &'arena mut ModportSimplePort<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ModuleData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Module<'a>) -> &'arena mut Module<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, NetDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: NetDecl<'a>) -> &'arena mut NetDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackageData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Package<'a>) -> &'arena mut Package<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PackedDimData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: PackedDim<'a>) -> &'arena mut PackedDim<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: ParamDecl<'a>) -> &'arena mut ParamDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamTypeDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: ParamTypeDecl<'a>, ) -> &'arena mut ParamTypeDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ParamValueDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: ParamValueDecl<'a>, ) -> &'arena mut ParamValueDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PathSegmentData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: PathSegment<'a>) -> &'arena mut PathSegment<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PatternFieldData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: PatternField<'a>) -> &'arena mut PatternField<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortConnData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: PortConn<'a>) -> &'arena mut PortConn<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Port<'a>) -> &'arena mut Port<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, PortDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: PortDecl<'a>) -> &'arena mut PortDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, ProcedureData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Procedure<'a>) -> &'arena mut Procedure<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, RootData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Root<'a>) -> &'arena mut Root<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SourceFileData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: SourceFile<'a>) -> &'arena mut SourceFile<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StmtData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Stmt<'a>) -> &'arena mut Stmt<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Struct<'a>) -> &'arena mut Struct<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, StructMemberData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: StructMember<'a>) -> &'arena mut StructMember<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutineDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: SubroutineDecl<'a>, ) -> &'arena mut SubroutineDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: SubroutinePort<'a>, ) -> &'arena mut SubroutinePort<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePortDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: SubroutinePortDecl<'a>, ) -> &'arena mut SubroutinePortDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, SubroutinePrototypeData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc( &'arena self, value: SubroutinePrototype<'a>, ) -> &'arena mut SubroutinePrototype<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Type<'a>) -> &'arena mut Type<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypeKindData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: TypeKind<'a>) -> &'arena mut TypeKind<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, TypedefData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: Typedef<'a>) -> &'arena mut Typedef<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, UnpackedDimData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: UnpackedDim<'a>) -> &'arena mut UnpackedDim<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: VarDecl<'a>) -> &'arena mut VarDecl<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDeclNameData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: VarDeclName<'a>) -> &'arena mut VarDeclName<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, Node<'a, VarDimData<'a>>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: VarDim<'a>) -> &'arena mut VarDim<'a>

Allocate a value of type T.
Source§

impl<'arena, 'a> Alloc<'arena, 'arena, TypeOrExpr<'a>> for Arena<'a>
where 'a: 'arena,

Source§

fn alloc(&'arena self, value: TypeOrExpr<'a>) -> &'arena mut TypeOrExpr<'a>

Allocate a value of type T.
Source§

impl<'a> Default for Arena<'a>

Source§

fn default() -> Arena<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> !Freeze for Arena<'a>

§

impl<'a> !RefUnwindSafe for Arena<'a>

§

impl<'a> Send for Arena<'a>

§

impl<'a> !Sync for Arena<'a>

§

impl<'a> Unpin for Arena<'a>

§

impl<'a> !UnwindSafe for Arena<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, A> AllocSelf<T> for A
where A: for<'a> Alloc<'a, 'a, T>,