From 875ad9b5c410200f5072515ae91b4ff51cff0448 Mon Sep 17 00:00:00 2001 From: Jean SIMARD Date: Wed, 23 Sep 2020 08:45:35 +0200 Subject: Bump smol_str from 0.1.16 to 0.1.17 --- Cargo.lock | 4 ++-- crates/hir_expand/src/name.rs | 10 +++++----- crates/hir_ty/src/infer.rs | 2 +- crates/mbe/src/syntax_bridge.rs | 5 ++++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7fecee1b5..85839bf47 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1465,9 +1465,9 @@ checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252" [[package]] name = "smol_str" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f7909a1d8bc166a862124d84fdc11bda0ea4ed3157ccca662296919c2972db1" +checksum = "6ca0f7ce3a29234210f0f4f0b56f8be2e722488b95cb522077943212da3b32eb" dependencies = [ "serde", ] diff --git a/crates/hir_expand/src/name.rs b/crates/hir_expand/src/name.rs index 49841c7a1..a5750d829 100644 --- a/crates/hir_expand/src/name.rs +++ b/crates/hir_expand/src/name.rs @@ -43,8 +43,8 @@ impl Name { } /// Shortcut to create inline plain text name - const fn new_inline_ascii(text: &[u8]) -> Name { - Name::new_text(SmolStr::new_inline_from_ascii(text.len(), text)) + const fn new_inline(text: &str) -> Name { + Name::new_text(SmolStr::new_inline(text)) } /// Resolve a name from the text of token. @@ -127,7 +127,7 @@ pub mod known { $( #[allow(bad_style)] pub const $ident: super::Name = - super::Name::new_inline_ascii(stringify!($ident).as_bytes()); + super::Name::new_inline(stringify!($ident)); )* }; } @@ -210,8 +210,8 @@ pub mod known { ); // self/Self cannot be used as an identifier - pub const SELF_PARAM: super::Name = super::Name::new_inline_ascii(b"self"); - pub const SELF_TYPE: super::Name = super::Name::new_inline_ascii(b"Self"); + pub const SELF_PARAM: super::Name = super::Name::new_inline("self"); + pub const SELF_TYPE: super::Name = super::Name::new_inline("Self"); #[macro_export] macro_rules! name { diff --git a/crates/hir_ty/src/infer.rs b/crates/hir_ty/src/infer.rs index 2b53b8297..9a7785c76 100644 --- a/crates/hir_ty/src/infer.rs +++ b/crates/hir_ty/src/infer.rs @@ -555,7 +555,7 @@ impl<'a> InferenceContext<'a> { fn resolve_lang_item(&self, name: &str) -> Option { let krate = self.resolver.krate()?; - let name = SmolStr::new_inline_from_ascii(name.len(), name.as_bytes()); + let name = SmolStr::new_inline(name); self.db.lang_item(krate, name) } diff --git a/crates/mbe/src/syntax_bridge.rs b/crates/mbe/src/syntax_bridge.rs index a8ad917fb..d987b2500 100644 --- a/crates/mbe/src/syntax_bridge.rs +++ b/crates/mbe/src/syntax_bridge.rs @@ -636,7 +636,10 @@ impl<'a> TreeSink for TtTreeSink<'a> { let (text, id) = match leaf { tt::Leaf::Ident(ident) => (ident.text.clone(), ident.id), tt::Leaf::Punct(punct) => { - (SmolStr::new_inline_from_ascii(1, &[punct.char as u8]), punct.id) + assert!(punct.char.is_ascii()); + let char = &(punct.char as u8); + let text = std::str::from_utf8(std::slice::from_ref(char)).unwrap(); + (SmolStr::new_inline(text), punct.id) } tt::Leaf::Literal(lit) => (lit.text.clone(), lit.id), }; -- cgit v1.2.3