Idx

Trait Idx 

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§

fn new(idx: usize) -> Self

fn index(self) -> usize

Provided Methods§

fn increment_by(&mut self, amount: usize)

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", so this trait is not object safe.

Implementations on Foreign Types§

§

impl Idx for u32

§

fn new(idx: usize) -> u32

§

fn index(self) -> usize

§

impl Idx for usize

§

fn new(idx: usize) -> usize

§

fn index(self) -> usize

§

impl Idx for FieldIdx

§

fn new(value: usize) -> FieldIdx

§

fn index(self) -> usize

§

impl Idx for VariantIdx

§

fn new(value: usize) -> VariantIdx

§

fn index(self) -> usize

§

impl Idx for NodeId

§

fn new(value: usize) -> NodeId

§

fn index(self) -> usize

§

impl Idx for ErrCode

§

fn new(value: usize) -> ErrCode

§

fn index(self) -> usize

§

impl Idx for ItemLocalId

§

fn new(value: usize) -> ItemLocalId

§

fn index(self) -> usize

§

impl Idx for OwnerId

§

fn new(idx: usize) -> OwnerId

§

fn index(self) -> usize

§

impl Idx for FirstStatementIndex

§

fn new(value: usize) -> FirstStatementIndex

§

fn index(self) -> usize

§

impl Idx for BasicCoverageBlock

§

fn new(value: usize) -> BasicCoverageBlock

§

fn index(self) -> usize

§

impl Idx for BlockMarkerId

§

fn new(value: usize) -> BlockMarkerId

§

fn index(self) -> usize

§

impl Idx for CounterId

§

fn new(value: usize) -> CounterId

§

fn index(self) -> usize

§

impl Idx for ExpressionId

§

fn new(value: usize) -> ExpressionId

§

fn index(self) -> usize

§

impl Idx for CoroutineSavedLocal

§

fn new(value: usize) -> CoroutineSavedLocal

§

fn index(self) -> usize

§

impl Idx for BasicBlock

§

fn new(value: usize) -> BasicBlock

§

fn index(self) -> usize

§

impl Idx for Local

§

fn new(value: usize) -> Local

§

fn index(self) -> usize

§

impl Idx for Promoted

§

fn new(value: usize) -> Promoted

§

fn index(self) -> usize

§

impl Idx for SourceScope

§

fn new(value: usize) -> SourceScope

§

fn index(self) -> usize

§

impl Idx for ArmId

§

fn new(value: usize) -> ArmId

§

fn index(self) -> usize

§

impl Idx for BlockId

§

fn new(value: usize) -> BlockId

§

fn index(self) -> usize

§

impl Idx for ExprId

§

fn new(value: usize) -> ExprId

§

fn index(self) -> usize

§

impl Idx for ParamId

§

fn new(value: usize) -> ParamId

§

fn index(self) -> usize

§

impl Idx for StmtId

§

fn new(value: usize) -> StmtId

§

fn index(self) -> usize

§

impl Idx for UserTypeAnnotationIndex

§

impl Idx for DepNodeIndex

§

fn new(value: usize) -> DepNodeIndex

§

fn index(self) -> usize

§

impl Idx for SerializedDepNodeIndex

§

impl Idx for CrateNum

§

fn new(value: usize) -> CrateNum

§

fn index(self) -> usize

§

impl Idx for DefIndex

§

fn new(value: usize) -> DefIndex

§

fn index(self) -> usize

§

impl Idx for LocalDefId

§

fn new(idx: usize) -> LocalDefId

§

fn index(self) -> usize

§

impl Idx for ExpnIndex

§

fn new(value: usize) -> ExpnIndex

§

fn index(self) -> usize

§

impl Idx for LocalExpnId

§

fn new(value: usize) -> LocalExpnId

§

fn index(self) -> usize

§

impl Idx for AttrId

§

fn new(value: usize) -> AttrId

§

fn index(self) -> usize

§

impl Idx for ConstVid

§

fn new(value: usize) -> ConstVid

§

fn index(self) -> usize

§

impl Idx for RegionVid

§

fn new(value: usize) -> RegionVid

§

fn index(self) -> usize

§

impl Idx for BoundVar

§

fn new(value: usize) -> BoundVar

§

fn index(self) -> usize

§

impl Idx for DebruijnIndex

§

fn new(value: usize) -> DebruijnIndex

§

fn index(self) -> usize

§

impl Idx for UniverseIndex

§

fn new(value: usize) -> UniverseIndex

§

fn index(self) -> usize

§

impl Idx for FloatVid

§

fn new(value: usize) -> FloatVid

§

fn index(self) -> usize

§

impl Idx for IntVid

§

fn new(value: usize) -> IntVid

§

fn index(self) -> usize

§

impl Idx for TyVid

§

fn new(value: usize) -> TyVid

§

fn index(self) -> usize

Implementors§