mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Merge pull request #19049 from ChayimFriedman2/add-reference-ty
minor: Remove duplicate method from `hir::Type`
This commit is contained in:
commit
8384bc5c55
@ -4730,17 +4730,6 @@ impl Type {
|
||||
Type { env: TraitEnvironment::empty(krate), ty }
|
||||
}
|
||||
|
||||
pub fn reference(inner: &Type, m: Mutability) -> Type {
|
||||
inner.derived(
|
||||
TyKind::Ref(
|
||||
if m.is_mut() { hir_ty::Mutability::Mut } else { hir_ty::Mutability::Not },
|
||||
hir_ty::error_lifetime(),
|
||||
inner.ty.clone(),
|
||||
)
|
||||
.intern(Interner),
|
||||
)
|
||||
}
|
||||
|
||||
fn new(db: &dyn HirDatabase, lexical_env: impl HasResolver, ty: Ty) -> Type {
|
||||
let resolver = lexical_env.resolver(db.upcast());
|
||||
let environment = resolver
|
||||
|
@ -145,7 +145,7 @@ impl LookupTable {
|
||||
self.data
|
||||
.iter()
|
||||
.find(|(t, _)| {
|
||||
Type::reference(t, Mutability::Shared).could_unify_with_deeply(db, ty)
|
||||
t.add_reference(Mutability::Shared).could_unify_with_deeply(db, ty)
|
||||
})
|
||||
.map(|(t, it)| {
|
||||
it.exprs(t)
|
||||
|
@ -793,8 +793,8 @@ pub(crate) fn convert_reference_type(
|
||||
}
|
||||
|
||||
fn could_deref_to_target(ty: &hir::Type, target: &hir::Type, db: &dyn HirDatabase) -> bool {
|
||||
let ty_ref = hir::Type::reference(ty, hir::Mutability::Shared);
|
||||
let target_ref = hir::Type::reference(target, hir::Mutability::Shared);
|
||||
let ty_ref = ty.add_reference(hir::Mutability::Shared);
|
||||
let target_ref = target.add_reference(hir::Mutability::Shared);
|
||||
ty_ref.could_coerce_to(db, &target_ref)
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
use either::Either;
|
||||
use hir::{db::ExpandDatabase, CallableKind, ClosureStyle, HirDisplay, HirFileIdExt, InFile, Type};
|
||||
use hir::{db::ExpandDatabase, CallableKind, ClosureStyle, HirDisplay, HirFileIdExt, InFile};
|
||||
use ide_db::{
|
||||
famous_defs::FamousDefs,
|
||||
source_change::{SourceChange, SourceChangeBuilder},
|
||||
@ -88,7 +88,7 @@ fn add_reference(
|
||||
let range = ctx.sema.diagnostics_display_range((*expr_ptr).map(|it| it.into()));
|
||||
|
||||
let (_, mutability) = d.expected.as_reference()?;
|
||||
let actual_with_ref = Type::reference(&d.actual, mutability);
|
||||
let actual_with_ref = d.actual.add_reference(mutability);
|
||||
if !actual_with_ref.could_coerce_to(ctx.sema.db, &d.expected) {
|
||||
return None;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user