mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-11-01 20:31:59 +00:00
prefer default over new
This commit is contained in:
parent
6ca780700d
commit
2462624a7d
46 changed files with 100 additions and 127 deletions
|
|
@ -90,7 +90,7 @@ pub fn attr_error(args: TokenStream, item: TokenStream) -> TokenStream {
|
|||
|
||||
#[proc_macro_derive(DeriveEmpty)]
|
||||
pub fn derive_empty(_item: TokenStream) -> TokenStream {
|
||||
TokenStream::new()
|
||||
TokenStream::default()
|
||||
}
|
||||
|
||||
#[proc_macro_derive(DerivePanic)]
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ impl ProcMacros {
|
|||
let parsed_body = crate::server_impl::TokenStream::with_subtree(macro_body);
|
||||
|
||||
let parsed_attributes = attributes
|
||||
.map_or_else(crate::server_impl::TokenStream::new, |attr| {
|
||||
.map_or_else(crate::server_impl::TokenStream::default, |attr| {
|
||||
crate::server_impl::TokenStream::with_subtree(attr)
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ impl server::TokenStream for RaSpanServer {
|
|||
base: Option<Self::TokenStream>,
|
||||
trees: Vec<bridge::TokenTree<Self::TokenStream, Self::Span, Self::Symbol>>,
|
||||
) -> Self::TokenStream {
|
||||
let mut builder = TokenStreamBuilder::new();
|
||||
let mut builder = TokenStreamBuilder::default();
|
||||
if let Some(base) = base {
|
||||
builder.push(base);
|
||||
}
|
||||
|
|
@ -227,7 +227,7 @@ impl server::TokenStream for RaSpanServer {
|
|||
base: Option<Self::TokenStream>,
|
||||
streams: Vec<Self::TokenStream>,
|
||||
) -> Self::TokenStream {
|
||||
let mut builder = TokenStreamBuilder::new();
|
||||
let mut builder = TokenStreamBuilder::default();
|
||||
if let Some(base) = base {
|
||||
builder.push(base);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ impl server::TokenStream for TokenIdServer {
|
|||
base: Option<Self::TokenStream>,
|
||||
trees: Vec<bridge::TokenTree<Self::TokenStream, Self::Span, Self::Symbol>>,
|
||||
) -> Self::TokenStream {
|
||||
let mut builder = TokenStreamBuilder::new();
|
||||
let mut builder = TokenStreamBuilder::default();
|
||||
if let Some(base) = base {
|
||||
builder.push(base);
|
||||
}
|
||||
|
|
@ -205,7 +205,7 @@ impl server::TokenStream for TokenIdServer {
|
|||
base: Option<Self::TokenStream>,
|
||||
streams: Vec<Self::TokenStream>,
|
||||
) -> Self::TokenStream {
|
||||
let mut builder = TokenStreamBuilder::new();
|
||||
let mut builder = TokenStreamBuilder::default();
|
||||
if let Some(base) = base {
|
||||
builder.push(base);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,13 @@ pub struct TokenStream<S> {
|
|||
pub(super) token_trees: Vec<tt::TokenTree<S>>,
|
||||
}
|
||||
|
||||
// #[derive(Default)] would mean that `S: Default`.
|
||||
impl<S> Default for TokenStream<S> {
|
||||
fn default() -> Self {
|
||||
Self { token_trees: Default::default() }
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: std::fmt::Debug + Copy> std::fmt::Debug for TokenStream<S> {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
f.debug_struct("TokenStream")
|
||||
|
|
@ -17,17 +24,7 @@ impl<S: std::fmt::Debug + Copy> std::fmt::Debug for TokenStream<S> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<S> Default for TokenStream<S> {
|
||||
fn default() -> Self {
|
||||
Self { token_trees: vec![] }
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: Copy> TokenStream<S> {
|
||||
pub(crate) fn new() -> Self {
|
||||
TokenStream::default()
|
||||
}
|
||||
|
||||
pub(crate) fn with_subtree(subtree: TopSubtree<S>) -> Self {
|
||||
let delimiter_kind = subtree.top_subtree().delimiter.kind;
|
||||
let mut token_trees = subtree.0;
|
||||
|
|
@ -145,10 +142,6 @@ pub(super) mod token_stream_impls {
|
|||
}
|
||||
|
||||
impl<S: Copy> TokenStreamBuilder<S> {
|
||||
pub(super) fn new() -> TokenStreamBuilder<S> {
|
||||
TokenStreamBuilder { acc: TokenStream::new() }
|
||||
}
|
||||
|
||||
pub(super) fn push(&mut self, stream: TokenStream<S>) {
|
||||
self.acc.token_trees.extend(stream.token_trees)
|
||||
}
|
||||
|
|
@ -157,3 +150,9 @@ impl<S: Copy> TokenStreamBuilder<S> {
|
|||
self.acc
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: Copy> Default for TokenStreamBuilder<S> {
|
||||
fn default() -> Self {
|
||||
Self { acc: TokenStream::default() }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue