ra-ap-rustc_type_ir 0.147.0

Automatically published version of the package `rustc_type_ir` in the rust-lang/rust repository from commit 9bc8b40bc314b74e1d5e5ab21a0df39c55a34806 The publishing script for this crate lives at: https://github.com/rust-analyzer/rustc-auto-publish
Documentation
use derive_where::derive_where;
#[cfg(feature = "nightly")]
use rustc_macros::{Decodable_NoContext, Encodable_NoContext, HashStable_NoContext};
use rustc_type_ir_macros::{
    GenericTypeVisitable, Lift_Generic, TypeFoldable_Generic, TypeVisitable_Generic,
};

use crate::Interner;

#[derive_where(Clone, Copy, Hash, PartialEq; I: Interner)]
#[derive(TypeVisitable_Generic, GenericTypeVisitable, TypeFoldable_Generic, Lift_Generic)]
#[cfg_attr(
    feature = "nightly",
    derive(Decodable_NoContext, Encodable_NoContext, HashStable_NoContext)
)]
pub enum PatternKind<I: Interner> {
    Range { start: I::Const, end: I::Const },
    Or(I::PatList),
    NotNull,
}

impl<I: Interner> Eq for PatternKind<I> {}