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.rs | 9 |
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}}; } |