Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
| -rw-r--r-- | crates/hir/src/lib.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs index d79e93406c..9e3dc998bf 100644 --- a/crates/hir/src/lib.rs +++ b/crates/hir/src/lib.rs @@ -1574,6 +1574,10 @@ pub struct BuiltinType { } impl BuiltinType { + pub fn str() -> BuiltinType { + BuiltinType { inner: hir_def::builtin_type::BuiltinType::Str } + } + pub fn ty(self, db: &dyn HirDatabase, module: Module) -> Type { let resolver = module.id.resolver(db.upcast()); Type::new_with_resolver(db, &resolver, TyBuilder::builtin(self.inner)) @@ -2263,6 +2267,10 @@ impl Type { Type::new(db, krate, def, 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 { matches!(self.ty.kind(&Interner), TyKind::Tuple(0, ..)) } |