Address or_fun_call lint
diff --git a/src/error.rs b/src/error.rs
index ddc5e62..23d7902 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -103,7 +103,7 @@
#[cfg(feature = "printing")]
pub fn new_spanned<T: ToTokens, U: Display>(tokens: T, message: U) -> Self {
let mut iter = tokens.into_token_stream().into_iter();
- let start = iter.next().map(|t| t.span()).unwrap_or(Span::call_site());
+ let start = iter.next().map(|t| t.span()).unwrap_or_else(Span::call_site);
let end = iter.last().map(|t| t.span()).unwrap_or(start);
Error {
start_span: ThreadBound::new(start),
@@ -145,8 +145,8 @@
/// [`compile_error!`]: https://doc.rust-lang.org/std/macro.compile_error.html
/// [`parse_macro_input!`]: ../macro.parse_macro_input.html
pub fn to_compile_error(&self) -> TokenStream {
- let start = self.start_span.get().cloned().unwrap_or(Span::call_site());
- let end = self.end_span.get().cloned().unwrap_or(Span::call_site());
+ let start = self.start_span.get().cloned().unwrap_or_else(Span::call_site);
+ let end = self.end_span.get().cloned().unwrap_or_else(Span::call_site);
// compile_error!($message)
TokenStream::from_iter(vec![
@@ -187,8 +187,8 @@
impl Clone for Error {
fn clone(&self) -> Self {
- let start = self.start_span.get().cloned().unwrap_or(Span::call_site());
- let end = self.end_span.get().cloned().unwrap_or(Span::call_site());
+ let start = self.start_span.get().cloned().unwrap_or_else(Span::call_site);
+ let end = self.end_span.get().cloned().unwrap_or_else(Span::call_site);
Error {
start_span: ThreadBound::new(start),
end_span: ThreadBound::new(end),