Skip to content

Commit 10b5fd1

Browse files
committed
Minor refactoring
- use `str::parse()` rather than `FromStr::from_str()` - use `iter::once()` instead of constructing `Vec` for a single element
1 parent b64e5b3 commit 10b5fd1

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

crates/proc-macro-srv/src/server.rs

+11-10
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ use token_stream::TokenStreamBuilder;
1717
mod symbol;
1818
pub use symbol::*;
1919

20-
use std::ops::{Bound, Range};
20+
use std::{
21+
iter,
22+
ops::{Bound, Range},
23+
};
2124

2225
use crate::tt;
2326

@@ -80,9 +83,7 @@ impl server::TokenStream for RustAnalyzer {
8083
stream.is_empty()
8184
}
8285
fn from_str(&mut self, src: &str) -> Self::TokenStream {
83-
use std::str::FromStr;
84-
85-
Self::TokenStream::from_str(src).expect("cannot parse string")
86+
src.parse().expect("cannot parse string")
8687
}
8788
fn to_string(&mut self, stream: &Self::TokenStream) -> String {
8889
stream.to_string()
@@ -101,7 +102,7 @@ impl server::TokenStream for RustAnalyzer {
101102
},
102103
};
103104
let tree = TokenTree::from(group);
104-
Self::TokenStream::from_iter(vec![tree])
105+
Self::TokenStream::from_iter(iter::once(tree))
105106
}
106107

107108
bridge::TokenTree::Ident(ident) => {
@@ -111,7 +112,7 @@ impl server::TokenStream for RustAnalyzer {
111112
let ident: tt::Ident = tt::Ident { text, span: ident.span };
112113
let leaf = tt::Leaf::from(ident);
113114
let tree = TokenTree::from(leaf);
114-
Self::TokenStream::from_iter(vec![tree])
115+
Self::TokenStream::from_iter(iter::once(tree))
115116
}
116117

117118
bridge::TokenTree::Literal(literal) => {
@@ -123,7 +124,7 @@ impl server::TokenStream for RustAnalyzer {
123124
let literal = tt::Literal { text, span: literal.0.span };
124125
let leaf = tt::Leaf::from(literal);
125126
let tree = TokenTree::from(leaf);
126-
Self::TokenStream::from_iter(vec![tree])
127+
Self::TokenStream::from_iter(iter::once(tree))
127128
}
128129

129130
bridge::TokenTree::Punct(p) => {
@@ -134,7 +135,7 @@ impl server::TokenStream for RustAnalyzer {
134135
};
135136
let leaf = tt::Leaf::from(punct);
136137
let tree = TokenTree::from(leaf);
137-
Self::TokenStream::from_iter(vec![tree])
138+
Self::TokenStream::from_iter(iter::once(tree))
138139
}
139140
}
140141
}
@@ -355,12 +356,12 @@ impl server::Server for RustAnalyzer {
355356
}
356357

357358
fn intern_symbol(ident: &str) -> Self::Symbol {
358-
// FIXME: should be self.interner once the proc-macro api allows is
359+
// FIXME: should be `self.interner` once the proc-macro api allows it.
359360
Symbol::intern(&SYMBOL_INTERNER, &::tt::SmolStr::from(ident))
360361
}
361362

362363
fn with_symbol_string(symbol: &Self::Symbol, f: impl FnOnce(&str)) {
363-
// FIXME: should be self.interner once the proc-macro api allows is
364+
// FIXME: should be `self.interner` once the proc-macro api allows it.
364365
f(symbol.text(&SYMBOL_INTERNER).as_str())
365366
}
366367
}

crates/tt/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ pub mod token_id {
6565
}
6666
impl TokenTree {
6767
pub const fn empty() -> Self {
68-
Self::Subtree(Subtree { delimiter: Delimiter::unspecified(), token_trees: vec![] })
68+
Self::Subtree(Subtree::empty())
6969
}
7070
}
7171

0 commit comments

Comments
 (0)