rustc_index

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

Implementations on Foreign Types§

Source§

impl Idx for u32

Source§

fn new(idx: usize) -> Self

Source§

fn index(self) -> usize

Source§

impl Idx for usize

Source§

fn new(idx: usize) -> Self

Source§

fn index(self) -> usize

Implementors§

impl Idx for InitOnceId

impl Idx for CondvarId

impl Idx for MutexId

impl Idx for RwLockId

impl Idx for ThreadId

impl Idx for VectorIdx

impl Idx for FieldIdx

impl Idx for VariantIdx

impl Idx for NodeId

impl Idx for ConstraintSccIndex

impl Idx for BorrowIndex

impl Idx for PoloniusRegionVid

impl Idx for LocationIndex

impl Idx for PlaceholderIndex

impl Idx for AppearanceIndex

impl Idx for GlobalFileId

impl Idx for LocalFileId

impl Idx for PreorderIndex

impl Idx for ErrCode

impl Idx for ItemLocalId

impl Idx for OwnerId

impl Idx for RegionId

impl Idx for ExpectedIdx

impl Idx for ProvidedIdx

impl Idx for LeakCheckNode

impl Idx for LeakCheckScc

impl Idx for LintStackIndex

impl Idx for FirstStatementIndex

impl Idx for BlockMarkerId

impl Idx for ConditionId

impl Idx for CounterId

impl Idx for ExpressionId

impl Idx for CoroutineSavedLocal

impl Idx for BasicBlock

impl Idx for Local

impl Idx for Promoted

impl Idx for SourceScope

impl Idx for ArmId

impl Idx for BlockId

impl Idx for ExprId

impl Idx for ParamId

impl Idx for StmtId

impl Idx for DropIdx

impl Idx for ScopeId

impl Idx for InitIndex

impl Idx for MoveOutIndex

impl Idx for MovePathIndex

impl Idx for PointIndex

impl Idx for PlaceIndex

impl Idx for ValueIndex

impl Idx for BasicCoverageBlock

impl Idx for VnIndex

impl Idx for LiveNode

impl Idx for Variable

impl Idx for DepNodeIndex

impl Idx for EdgeIndex

impl Idx for CrateNum

impl Idx for DefIndex

impl Idx for LocalDefId

impl Idx for ExpnIndex

impl Idx for LocalExpnId

impl Idx for AttrId

impl Idx for SymbolIndex

impl Idx for ConstVid

impl Idx for RegionVid

impl Idx for StackDepth

impl Idx for BoundVar

impl Idx for DebruijnIndex

impl Idx for UniverseIndex

impl Idx for FloatVid

impl Idx for IntVid

impl Idx for TyVid