From d28aed6dc45ffccc790469cb04f3f775ddb2283a Mon Sep 17 00:00:00 2001 From: ljedrz Date: Fri, 12 Oct 2018 16:16:00 +0200 Subject: Prefer unwrap_or_else to unwrap_or in case of function calls/allocations --- src/libsyntax/parse/parser.rs | 2 +- src/libsyntax/print/pprust.rs | 2 +- src/libsyntax/source_map.rs | 3 ++- src/libsyntax/tokenstream.rs | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index c7089a295fc..9c47589a0bd 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3228,7 +3228,7 @@ impl<'a> Parser<'a> { })); let expr_str = self.sess.source_map().span_to_snippet(expr.span) - .unwrap_or(pprust::expr_to_string(&expr)); + .unwrap_or_else(|_| pprust::expr_to_string(&expr)); err.span_suggestion_with_applicability( expr.span, &format!("try {} the cast value", op_verb), diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 83a05921510..ce7708cc42e 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -3119,7 +3119,7 @@ impl<'a> State<'a> { if cmnt.style != comments::Trailing { return Ok(()) } let span_line = cm.lookup_char_pos(span.hi()); let comment_line = cm.lookup_char_pos(cmnt.pos); - let next = next_pos.unwrap_or(cmnt.pos + BytePos(1)); + let next = next_pos.unwrap_or_else(|| cmnt.pos + BytePos(1)); if span.hi() < cmnt.pos && cmnt.pos < next && span_line.line == comment_line.line { self.print_comment(cmnt)?; } diff --git a/src/libsyntax/source_map.rs b/src/libsyntax/source_map.rs index 7ee58350621..d7033e3993a 100644 --- a/src/libsyntax/source_map.rs +++ b/src/libsyntax/source_map.rs @@ -942,7 +942,8 @@ impl SourceMap { } else { format!("{}<", &snippet[..offset]) }; - new_snippet.push_str(&self.span_to_snippet(span).unwrap_or("T".to_string())); + new_snippet.push_str( + &self.span_to_snippet(span).unwrap_or_else(|_| "T".to_string())); new_snippet.push('>'); return Some((sugg_span, new_snippet)); diff --git a/src/libsyntax/tokenstream.rs b/src/libsyntax/tokenstream.rs index 70867f9e42f..29bd63d28c5 100644 --- a/src/libsyntax/tokenstream.rs +++ b/src/libsyntax/tokenstream.rs @@ -606,7 +606,7 @@ impl Cursor { CursorKind::JointTree(ref tree, _) => tree.clone().joint(), CursorKind::Stream(ref cursor) => TokenStream::concat_rc_vec({ cursor.stack.get(0).cloned().map(|(stream, _)| stream) - .unwrap_or(cursor.stream.clone()) + .unwrap_or_else(|| cursor.stream.clone()) }), } } -- cgit 1.4.1-3-g733a5