Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_ty/src/traits.rs')
| -rw-r--r-- | crates/hir_ty/src/traits.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/hir_ty/src/traits.rs b/crates/hir_ty/src/traits.rs index 3876a9da26..0d135651c7 100644 --- a/crates/hir_ty/src/traits.rs +++ b/crates/hir_ty/src/traits.rs @@ -9,6 +9,7 @@ use chalk_solve::{logging_db::LoggingRustIrDatabase, Solver}; use base_db::CrateId; use hir_def::{lang_item::LangItemTarget, TraitId}; use stdx::panic_context; +use syntax::SmolStr; use crate::{ db::HirDatabase, AliasEq, AliasTy, Canonical, DomainGoal, Goal, Guidance, InEnvironment, @@ -169,7 +170,7 @@ pub enum FnTrait { } impl FnTrait { - fn lang_item_name(self) -> &'static str { + const fn lang_item_name(self) -> &'static str { match self { FnTrait::FnOnce => "fn_once", FnTrait::FnMut => "fn_mut", @@ -178,7 +179,7 @@ impl FnTrait { } pub fn get_id(&self, db: &dyn HirDatabase, krate: CrateId) -> Option<TraitId> { - let target = db.lang_item(krate, self.lang_item_name().into())?; + let target = db.lang_item(krate, SmolStr::new_inline(self.lang_item_name()))?; match target { LangItemTarget::TraitId(t) => Some(t), _ => None, |