prefer default over new

This commit is contained in:
BenjaminBrienen 2025-04-04 15:49:50 +02:00
parent 6ca780700d
commit 2462624a7d
46 changed files with 100 additions and 127 deletions

View file

@ -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)]

View file

@ -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)
});

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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() }
}
}