Unnamed repository; edit this file 'description' to name the repository.
Andrzej Głuszak 2021-10-21
parent a2242dc · commit 88e2f07
-rw-r--r--crates/hir/src/lib.rs6
-rw-r--r--crates/ide_assists/src/utils.rs2
2 files changed, 3 insertions, 5 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index b088b5df1d..9e3dc998bf 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -1574,7 +1574,6 @@ pub struct BuiltinType {
}
impl BuiltinType {
- // FIXME: I'm not sure if it's the best place to put it
pub fn str() -> BuiltinType {
BuiltinType { inner: hir_def::builtin_type::BuiltinType::Str }
}
@@ -2268,9 +2267,8 @@ impl Type {
Type::new(db, krate, def, ty)
}
- // FIXME: No idea where to put it
- pub fn make_slice_of(self) -> Type {
- Type { krate: self.krate, env: self.env, ty: TyBuilder::slice(self.ty) }
+ pub fn new_slice(ty: Type) -> Type {
+ Type { krate: ty.krate, env: ty.env, ty: TyBuilder::slice(ty.ty) }
}
pub fn is_unit(&self) -> bool {
diff --git a/crates/ide_assists/src/utils.rs b/crates/ide_assists/src/utils.rs
index 8f0e76f7b8..fd0ff2f5cb 100644
--- a/crates/ide_assists/src/utils.rs
+++ b/crates/ide_assists/src/utils.rs
@@ -613,7 +613,7 @@ fn handle_as_ref_slice(
famous_defs: &FamousDefs,
) -> Option<ReferenceConversionType> {
let type_argument = ty.type_arguments().next()?;
- let slice_type = type_argument.make_slice_of();
+ let slice_type = hir::Type::new_slice(type_argument);
ty.impls_trait(db, famous_defs.core_convert_AsRef()?, &[slice_type])
.then(|| ReferenceConversionType::AsRefSlice)