Skip to main content

Idx

Trait Idx 

Source
pub trait Idx:
    Copy
    + 'static
    + Eq
    + PartialEq
    + Debug
    + Hash {
    // Required methods
    fn new(idx: usize) -> Self;
    fn index(self) -> usize;

    // Provided methods
    fn increment_by(&mut self, amount: usize) { ... }
    fn plus(self, amount: usize) -> Self { ... }
}
Expand description

Represents some newtyped usize wrapper.

Purpose: avoid mixing indexes for different bitvector domains.

Required Methods§

Source

fn new(idx: usize) -> Self

Source

fn index(self) -> usize

Provided Methods§

Source

fn increment_by(&mut self, amount: usize)

Source

fn plus(self, amount: usize) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl Idx for ArmId

§

fn new(value: usize) -> ArmId

§

fn index(self) -> usize

Source§

impl Idx for AttrId

Source§

fn new(value: usize) -> AttrId

Source§

fn index(self) -> usize

§

impl Idx for BasicBlock

§

fn new(value: usize) -> BasicBlock

§

fn index(self) -> usize

§

impl Idx for BasicCoverageBlock

§

fn new(value: usize) -> BasicCoverageBlock

§

fn index(self) -> usize

§

impl Idx for BlockId

§

fn new(value: usize) -> BlockId

§

fn index(self) -> usize

§

impl Idx for BlockMarkerId

§

fn new(value: usize) -> BlockMarkerId

§

fn index(self) -> usize

Source§

impl Idx for BoundVar

Source§

fn new(value: usize) -> BoundVar

Source§

fn index(self) -> usize

Source§

impl Idx for ConstVid

Source§

fn new(value: usize) -> ConstVid

Source§

fn index(self) -> usize

§

impl Idx for CoroutineSavedLocal

§

fn new(value: usize) -> CoroutineSavedLocal

§

fn index(self) -> usize

§

impl Idx for CounterId

§

fn new(value: usize) -> CounterId

§

fn index(self) -> usize

Source§

impl Idx for CrateNum

Source§

fn new(value: usize) -> CrateNum

Source§

fn index(self) -> usize

Source§

impl Idx for DebruijnIndex

Source§

impl Idx for DefIndex

Source§

fn new(value: usize) -> DefIndex

Source§

fn index(self) -> usize

§

impl Idx for DepNodeIndex

§

fn new(value: usize) -> DepNodeIndex

§

fn index(self) -> usize

Source§

impl Idx for ErrCode

Source§

fn new(value: usize) -> ErrCode

Source§

fn index(self) -> usize

Source§

impl Idx for ExpnIndex

Source§

fn new(value: usize) -> ExpnIndex

Source§

fn index(self) -> usize

§

impl Idx for ExprId

§

fn new(value: usize) -> ExprId

§

fn index(self) -> usize

§

impl Idx for ExpressionId

§

fn new(value: usize) -> ExpressionId

§

fn index(self) -> usize

Source§

impl Idx for FieldIdx

Source§

fn new(value: usize) -> FieldIdx

Source§

fn index(self) -> usize

§

impl Idx for FirstStatementIndex

§

fn new(value: usize) -> FirstStatementIndex

§

fn index(self) -> usize

Source§

impl Idx for FloatVid

Source§

fn new(value: usize) -> FloatVid

Source§

fn index(self) -> usize

Source§

impl Idx for IntVid

Source§

fn new(value: usize) -> IntVid

Source§

fn index(self) -> usize

Source§

impl Idx for ItemLocalId

§

impl Idx for Local

§

fn new(value: usize) -> Local

§

fn index(self) -> usize

Source§

impl Idx for LocalDefId

Source§

impl Idx for LocalExpnId

Source§

impl Idx for NodeId

Source§

fn new(value: usize) -> NodeId

Source§

fn index(self) -> usize

Source§

impl Idx for NodeIndex

Source§

impl Idx for OwnerId

§

impl Idx for ParamId

§

fn new(value: usize) -> ParamId

§

fn index(self) -> usize

§

impl Idx for Promoted

§

fn new(value: usize) -> Promoted

§

fn index(self) -> usize

Source§

impl Idx for RegionVid

Source§

fn new(value: usize) -> RegionVid

Source§

fn index(self) -> usize

§

impl Idx for SerializedDepNodeIndex

§

fn new(value: usize) -> SerializedDepNodeIndex

§

fn index(self) -> usize

§

impl Idx for SourceScope

§

fn new(value: usize) -> SourceScope

§

fn index(self) -> usize

§

impl Idx for StmtId

§

fn new(value: usize) -> StmtId

§

fn index(self) -> usize

Source§

impl Idx for TyVid

Source§

fn new(value: usize) -> TyVid

Source§

fn index(self) -> usize

Source§

impl Idx for UniverseIndex

§

impl Idx for UserTypeAnnotationIndex

§

fn new(value: usize) -> UserTypeAnnotationIndex

§

fn index(self) -> usize

Source§

impl Idx for VariantIdx

Source§

impl Idx for u32

Source§

fn new(idx: usize) -> u32

Source§

fn index(self) -> usize

Source§

impl Idx for usize

Source§

fn new(idx: usize) -> usize

Source§

fn index(self) -> usize

Implementors§