Skip to content

Commit 78feee8

Browse files
Remove duplicate method from hir::Type
I added it by mistake in rust-lang#18927. I chose to keep the method as not static, because it's more comfortable, and keep the name `add_reference()` and not `reference()`, because it is clearer and better matches `strip_reference[s]()`.
1 parent ad0aea4 commit 78feee8

File tree

4 files changed

+5
-16
lines changed

4 files changed

+5
-16
lines changed

src/tools/rust-analyzer/crates/hir/src/lib.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4698,17 +4698,6 @@ impl Type {
46984698
Type { env: TraitEnvironment::empty(krate), ty }
46994699
}
47004700

4701-
pub fn reference(inner: &Type, m: Mutability) -> Type {
4702-
inner.derived(
4703-
TyKind::Ref(
4704-
if m.is_mut() { hir_ty::Mutability::Mut } else { hir_ty::Mutability::Not },
4705-
hir_ty::error_lifetime(),
4706-
inner.ty.clone(),
4707-
)
4708-
.intern(Interner),
4709-
)
4710-
}
4711-
47124701
fn new(db: &dyn HirDatabase, lexical_env: impl HasResolver, ty: Ty) -> Type {
47134702
let resolver = lexical_env.resolver(db.upcast());
47144703
let environment = resolver

src/tools/rust-analyzer/crates/hir/src/term_search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ impl LookupTable {
145145
self.data
146146
.iter()
147147
.find(|(t, _)| {
148-
Type::reference(t, Mutability::Shared).could_unify_with_deeply(db, ty)
148+
t.add_reference(Mutability::Shared).could_unify_with_deeply(db, ty)
149149
})
150150
.map(|(t, it)| {
151151
it.exprs(t)

src/tools/rust-analyzer/crates/ide-assists/src/utils.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -793,8 +793,8 @@ pub(crate) fn convert_reference_type(
793793
}
794794

795795
fn could_deref_to_target(ty: &hir::Type, target: &hir::Type, db: &dyn HirDatabase) -> bool {
796-
let ty_ref = hir::Type::reference(ty, hir::Mutability::Shared);
797-
let target_ref = hir::Type::reference(target, hir::Mutability::Shared);
796+
let ty_ref = ty.add_reference(hir::Mutability::Shared);
797+
let target_ref = target.add_reference(hir::Mutability::Shared);
798798
ty_ref.could_coerce_to(db, &target_ref)
799799
}
800800

src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/type_mismatch.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use either::Either;
2-
use hir::{db::ExpandDatabase, CallableKind, ClosureStyle, HirDisplay, HirFileIdExt, InFile, Type};
2+
use hir::{db::ExpandDatabase, CallableKind, ClosureStyle, HirDisplay, HirFileIdExt, InFile};
33
use ide_db::{
44
famous_defs::FamousDefs,
55
source_change::{SourceChange, SourceChangeBuilder},
@@ -88,7 +88,7 @@ fn add_reference(
8888
let range = ctx.sema.diagnostics_display_range((*expr_ptr).map(|it| it.into()));
8989

9090
let (_, mutability) = d.expected.as_reference()?;
91-
let actual_with_ref = Type::reference(&d.actual, mutability);
91+
let actual_with_ref = d.actual.add_reference(mutability);
9292
if !actual_with_ref.could_coerce_to(ctx.sema.db, &d.expected) {
9393
return None;
9494
}

0 commit comments

Comments
 (0)