Move some HashStable impls.
This commit is contained in:
parent
c24c9067ee
commit
b66dfaaa64
3 changed files with 22 additions and 44 deletions
|
@ -66,7 +66,7 @@ fn handle_errors(sess: &ParseSess, span: Span, error: AttrError) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone, PartialEq, Encodable, Decodable, Debug)]
|
#[derive(Copy, Clone, PartialEq, Encodable, Decodable, Debug, HashStable_Generic)]
|
||||||
pub enum InlineAttr {
|
pub enum InlineAttr {
|
||||||
None,
|
None,
|
||||||
Hint,
|
Hint,
|
||||||
|
@ -74,13 +74,13 @@ pub enum InlineAttr {
|
||||||
Never,
|
Never,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Encodable, Decodable, Debug, PartialEq, Eq)]
|
#[derive(Clone, Encodable, Decodable, Debug, PartialEq, Eq, HashStable_Generic)]
|
||||||
pub enum InstructionSetAttr {
|
pub enum InstructionSetAttr {
|
||||||
ArmA32,
|
ArmA32,
|
||||||
ArmT32,
|
ArmT32,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Encodable, Decodable, Debug)]
|
#[derive(Clone, Encodable, Decodable, Debug, HashStable_Generic)]
|
||||||
pub enum OptimizeAttr {
|
pub enum OptimizeAttr {
|
||||||
None,
|
None,
|
||||||
Speed,
|
Speed,
|
||||||
|
|
|
@ -33,6 +33,25 @@ impl<HirCtx: crate::HashStableContext> ToStableHashKey<HirCtx> for HirId {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<HirCtx: crate::HashStableContext> ToStableHashKey<HirCtx> for ItemLocalId {
|
||||||
|
type KeyType = ItemLocalId;
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn to_stable_hash_key(&self, _: &HirCtx) -> ItemLocalId {
|
||||||
|
*self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<HirCtx: crate::HashStableContext> ToStableHashKey<HirCtx> for BodyId {
|
||||||
|
type KeyType = (DefPathHash, ItemLocalId);
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
fn to_stable_hash_key(&self, hcx: &HirCtx) -> (DefPathHash, ItemLocalId) {
|
||||||
|
let BodyId { hir_id } = *self;
|
||||||
|
hir_id.to_stable_hash_key(hcx)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<HirCtx: crate::HashStableContext> ToStableHashKey<HirCtx> for ItemId {
|
impl<HirCtx: crate::HashStableContext> ToStableHashKey<HirCtx> for ItemId {
|
||||||
type KeyType = DefPathHash;
|
type KeyType = DefPathHash;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
//! types in no particular order.
|
//! types in no particular order.
|
||||||
|
|
||||||
use crate::ich::{NodeIdHashingMode, StableHashingContext};
|
use crate::ich::{NodeIdHashingMode, StableHashingContext};
|
||||||
use rustc_attr as attr;
|
|
||||||
use rustc_data_structures::fingerprint::Fingerprint;
|
use rustc_data_structures::fingerprint::Fingerprint;
|
||||||
use rustc_data_structures::stable_hasher::{HashStable, StableHasher, ToStableHashKey};
|
use rustc_data_structures::stable_hasher::{HashStable, StableHasher, ToStableHashKey};
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
|
@ -114,15 +113,6 @@ impl<'ctx> rustc_hir::HashStableContext for StableHashingContext<'ctx> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> ToStableHashKey<StableHashingContext<'a>> for hir::ItemLocalId {
|
|
||||||
type KeyType = hir::ItemLocalId;
|
|
||||||
|
|
||||||
#[inline]
|
|
||||||
fn to_stable_hash_key(&self, _: &StableHashingContext<'a>) -> hir::ItemLocalId {
|
|
||||||
*self
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'a> HashStable<StableHashingContext<'a>> for hir::Body<'_> {
|
impl<'a> HashStable<StableHashingContext<'a>> for hir::Body<'_> {
|
||||||
fn hash_stable(&self, hcx: &mut StableHashingContext<'a>, hasher: &mut StableHasher) {
|
fn hash_stable(&self, hcx: &mut StableHashingContext<'a>, hasher: &mut StableHasher) {
|
||||||
let hir::Body { params, value, generator_kind } = self;
|
let hir::Body { params, value, generator_kind } = self;
|
||||||
|
@ -135,19 +125,6 @@ impl<'a> HashStable<StableHashingContext<'a>> for hir::Body<'_> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> ToStableHashKey<StableHashingContext<'a>> for hir::BodyId {
|
|
||||||
type KeyType = (DefPathHash, hir::ItemLocalId);
|
|
||||||
|
|
||||||
#[inline]
|
|
||||||
fn to_stable_hash_key(
|
|
||||||
&self,
|
|
||||||
hcx: &StableHashingContext<'a>,
|
|
||||||
) -> (DefPathHash, hir::ItemLocalId) {
|
|
||||||
let hir::BodyId { hir_id } = *self;
|
|
||||||
hir_id.to_stable_hash_key(hcx)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'a> HashStable<StableHashingContext<'a>> for hir::TraitCandidate {
|
impl<'a> HashStable<StableHashingContext<'a>> for hir::TraitCandidate {
|
||||||
fn hash_stable(&self, hcx: &mut StableHashingContext<'a>, hasher: &mut StableHasher) {
|
fn hash_stable(&self, hcx: &mut StableHashingContext<'a>, hasher: &mut StableHasher) {
|
||||||
hcx.with_node_id_hashing_mode(NodeIdHashingMode::HashDefPath, |hcx| {
|
hcx.with_node_id_hashing_mode(NodeIdHashingMode::HashDefPath, |hcx| {
|
||||||
|
@ -171,21 +148,3 @@ impl<'a> ToStableHashKey<StableHashingContext<'a>> for hir::TraitCandidate {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'hir> HashStable<StableHashingContext<'hir>> for attr::InlineAttr {
|
|
||||||
fn hash_stable(&self, hcx: &mut StableHashingContext<'hir>, hasher: &mut StableHasher) {
|
|
||||||
mem::discriminant(self).hash_stable(hcx, hasher);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'hir> HashStable<StableHashingContext<'hir>> for attr::InstructionSetAttr {
|
|
||||||
fn hash_stable(&self, hcx: &mut StableHashingContext<'hir>, hasher: &mut StableHasher) {
|
|
||||||
mem::discriminant(self).hash_stable(hcx, hasher);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'hir> HashStable<StableHashingContext<'hir>> for attr::OptimizeAttr {
|
|
||||||
fn hash_stable(&self, hcx: &mut StableHashingContext<'hir>, hasher: &mut StableHasher) {
|
|
||||||
mem::discriminant(self).hash_stable(hcx, hasher);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue