diff options
author | bors <bors@rust-lang.org> | 2018-10-20 11:22:48 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2018-10-20 11:22:48 +0000 |
commit | ca2639e82ec4a18d7359efbfb555ea69dd644c97 (patch) | |
tree | 3dfa59589214b0157714150a785dd9cc4ccdc240 /src/librustc_errors | |
parent | 94273f4d8e463cac45486328294bb1c2bbc10170 (diff) | |
parent | d28aed6dc45ffccc790469cb04f3f775ddb2283a (diff) | |
download | rust-ca2639e82ec4a18d7359efbfb555ea69dd644c97.tar.gz |
Auto merge of #55014 - ljedrz:lazyboye_unwraps, r=matthewjasper
Prefer unwrap_or_else to unwrap_or in case of function calls/allocations
The contents of `unwrap_or` are evaluated eagerly, so it's not a good pick in case of function calls and allocations. This PR also changes a few `unwrap_or`s with `unwrap_or_default`.
An added bonus is that in some cases this change also reveals if the object it's called on is an `Option` or a `Result` (based on whether the closure takes an argument).
Diffstat (limited to 'src/librustc_errors')
-rw-r--r-- | src/librustc_errors/diagnostic_builder.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc_errors/diagnostic_builder.rs b/src/librustc_errors/diagnostic_builder.rs index 60a68b1e496..f4289ea2d4b 100644 --- a/src/librustc_errors/diagnostic_builder.rs +++ b/src/librustc_errors/diagnostic_builder.rs @@ -128,7 +128,7 @@ impl<'a> DiagnosticBuilder<'a> { message: &str, span: Option<S>, ) -> &mut Self { - let span = span.map(|s| s.into()).unwrap_or(MultiSpan::new()); + let span = span.map(|s| s.into()).unwrap_or_else(|| MultiSpan::new()); self.diagnostic.sub(level, message, span, None); self } |