Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/quote.rs')
-rw-r--r--crates/hir-expand/src/quote.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/crates/hir-expand/src/quote.rs b/crates/hir-expand/src/quote.rs
index a3b84afd2a..91f8c5a5a5 100644
--- a/crates/hir-expand/src/quote.rs
+++ b/crates/hir-expand/src/quote.rs
@@ -1,11 +1,12 @@
//! A simplified version of quote-crate like quasi quote macro
use span::Span;
+use syntax::format_smolstr;
use crate::name::Name;
-pub(crate) fn dollar_crate(span: Span) -> tt::Ident<Span> {
- tt::Ident { text: syntax::SmolStr::new_inline("$crate"), span }
+pub(crate) const fn dollar_crate(span: Span) -> tt::Ident<Span> {
+ tt::Ident { text: syntax::SmolStr::new_static("$crate"), span }
}
// A helper macro quote macro
@@ -214,8 +215,8 @@ impl_to_to_tokentrees! {
_span: crate::tt::Literal => self { self };
_span: crate::tt::Ident => self { self };
_span: crate::tt::Punct => self { self };
- span: &str => self { crate::tt::Literal{text: format!("\"{}\"", self.escape_default()).into(), span}};
- span: String => self { crate::tt::Literal{text: format!("\"{}\"", self.escape_default()).into(), span}};
+ span: &str => self { crate::tt::Literal{text: format_smolstr!("\"{}\"", self.escape_default()), span}};
+ span: String => self { crate::tt::Literal{text: format_smolstr!("\"{}\"", self.escape_default()), span}};
span: Name => self { crate::tt::Ident{text: self.to_smol_str(), span}};
}