Skip to content

Commit 6777a49

Browse files
committed
Move hir_trait_id to extension trait
1 parent 86feac1 commit 6777a49

File tree

11 files changed

+27
-19
lines changed

11 files changed

+27
-19
lines changed

crates/hir/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ use hir_ty::{
5959
traits::FnTrait,
6060
AliasEq, AliasTy, BoundVar, CallableDefId, CallableSig, Canonical, CanonicalVarKinds, Cast,
6161
DebruijnIndex, InEnvironment, Interner, QuantifiedWhereClause, Scalar, Solution, Substitution,
62-
TraitEnvironment, Ty, TyBuilder, TyDefId, TyExt, TyKind, TyVariableKind, WhereClause,
62+
TraitEnvironment, TraitRefExt, Ty, TyBuilder, TyDefId, TyExt, TyKind, TyVariableKind,
63+
WhereClause,
6364
};
6465
use itertools::Itertools;
6566
use rustc_hash::FxHashSet;

crates/hir_ty/src/chalk_ext.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,3 +260,13 @@ impl ProjectionTyExt for ProjectionTy {
260260
}
261261
}
262262
}
263+
264+
pub trait TraitRefExt {
265+
fn hir_trait_id(&self) -> TraitId;
266+
}
267+
268+
impl TraitRefExt for TraitRef {
269+
fn hir_trait_id(&self) -> TraitId {
270+
from_chalk_trait_id(self.trait_id)
271+
}
272+
}

crates/hir_ty/src/display.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use crate::{
2424
traits::chalk::from_chalk, utils::generics, AdtId, AliasEq, AliasTy, CallableDefId,
2525
CallableSig, Const, ConstValue, DomainGoal, GenericArg, ImplTraitId, Interner, Lifetime,
2626
LifetimeData, LifetimeOutlives, Mutability, OpaqueTy, ProjectionTy, ProjectionTyExt,
27-
QuantifiedWhereClause, Scalar, TraitRef, Ty, TyExt, TyKind, WhereClause,
27+
QuantifiedWhereClause, Scalar, TraitRef, TraitRefExt, Ty, TyExt, TyKind, WhereClause,
2828
};
2929

3030
pub struct HirFormatter<'a> {

crates/hir_ty/src/infer/path.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ use hir_def::{
1111
use hir_expand::name::Name;
1212

1313
use crate::{
14-
method_resolution, Interner, Substitution, Ty, TyBuilder, TyExt, TyKind, ValueTyDefId,
14+
method_resolution, Interner, Substitution, TraitRefExt, Ty, TyBuilder, TyExt, TyKind,
15+
ValueTyDefId,
1516
};
1617

1718
use super::{ExprOrPatId, InferenceContext, TraitRef};

crates/hir_ty/src/lib.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use crate::{db::HirDatabase, display::HirDisplay, utils::generics};
4141

4242
pub use autoderef::autoderef;
4343
pub use builder::TyBuilder;
44-
pub use chalk_ext::{ProjectionTyExt, TyExt};
44+
pub use chalk_ext::*;
4545
pub use infer::{could_unify, InferenceResult};
4646
pub use lower::{
4747
associated_type_shorthand_candidates, callable_item_sig, CallableDefId, ImplTraitLoweringMode,
@@ -107,12 +107,6 @@ pub fn make_only_type_binders<T>(num_vars: usize, value: T) -> Binders<T> {
107107
)
108108
}
109109

110-
impl TraitRef {
111-
pub fn hir_trait_id(&self) -> TraitId {
112-
from_chalk_trait_id(self.trait_id)
113-
}
114-
}
115-
116110
impl<T> Canonical<T> {
117111
pub fn new(value: T, kinds: impl IntoIterator<Item = TyVariableKind>) -> Self {
118112
let kinds = kinds.into_iter().map(|tk| {

crates/hir_ty/src/lower.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ use crate::{
3535
AliasEq, AliasTy, Binders, BoundVar, CallableSig, DebruijnIndex, DynTy, FnPointer, FnSig,
3636
FnSubst, ImplTraitId, OpaqueTy, PolyFnSig, ProjectionTy, QuantifiedWhereClause,
3737
QuantifiedWhereClauses, ReturnTypeImplTrait, ReturnTypeImplTraits, Substitution,
38-
TraitEnvironment, TraitRef, Ty, TyBuilder, TyKind, TypeWalk, WhereClause,
38+
TraitEnvironment, TraitRef, TraitRefExt, Ty, TyBuilder, TyKind, TypeWalk, WhereClause,
3939
};
4040

4141
#[derive(Debug)]

crates/hir_ty/src/method_resolution.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ use crate::{
2222
static_lifetime,
2323
utils::all_super_traits,
2424
AdtId, Canonical, CanonicalVarKinds, DebruijnIndex, FnPointer, FnSig, ForeignDefId,
25-
InEnvironment, Interner, Scalar, Substitution, TraitEnvironment, Ty, TyBuilder, TyExt, TyKind,
26-
TypeWalk,
25+
InEnvironment, Interner, Scalar, Substitution, TraitEnvironment, TraitRefExt, Ty, TyBuilder,
26+
TyExt, TyKind, TypeWalk,
2727
};
2828

2929
/// This is used as a key for indexing impls.

crates/hir_ty/src/traits.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use stdx::panic_context;
99

1010
use crate::{
1111
db::HirDatabase, AliasEq, AliasTy, Canonical, DomainGoal, Guidance, HirDisplay, InEnvironment,
12-
Solution, Ty, TyKind, WhereClause,
12+
Solution, TraitRefExt, Ty, TyKind, WhereClause,
1313
};
1414

1515
use self::chalk::{from_chalk, Interner, ToChalk};

crates/hir_ty/src/traits/chalk.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use crate::{
2222
to_assoc_type_id, to_chalk_trait_id,
2323
utils::generics,
2424
AliasEq, AliasTy, BoundVar, CallableDefId, DebruijnIndex, FnDefId, ProjectionTy, Substitution,
25-
TraitRef, Ty, TyBuilder, TyExt, TyKind, WhereClause,
25+
TraitRef, TraitRefExt, Ty, TyBuilder, TyExt, TyKind, WhereClause,
2626
};
2727
use mapping::{
2828
convert_where_clauses, generic_predicate_to_inline_bound, make_binders, TypeAliasAsValue,

crates/hir_ty/src/traits/chalk/mapping.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ use base_db::salsa::InternKey;
1010
use hir_def::{GenericDefId, TypeAliasId};
1111

1212
use crate::{
13-
chalk_ext::ProjectionTyExt, db::HirDatabase, static_lifetime, AliasTy, CallableDefId,
14-
Canonical, ConstrainedSubst, DomainGoal, FnPointer, GenericArg, InEnvironment, OpaqueTy,
15-
ProjectionTy, QuantifiedWhereClause, Substitution, TraitRef, Ty, TypeWalk, WhereClause,
13+
db::HirDatabase, static_lifetime, AliasTy, CallableDefId, Canonical, ConstrainedSubst,
14+
DomainGoal, FnPointer, GenericArg, InEnvironment, OpaqueTy, ProjectionTy, ProjectionTyExt,
15+
QuantifiedWhereClause, Substitution, TraitRef, Ty, TypeWalk, WhereClause,
1616
};
1717

1818
use super::interner::*;

0 commit comments

Comments
 (0)