about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-08-18 21:58:37 +0000
committerbors <bors@rust-lang.org>2018-08-18 21:58:37 +0000
commita9fe312b98d5a6b194c4ad1a17dcf258ba9941ea (patch)
treea538a80b3f183f2f8b112f45941b5ba549b063d0 /src/libsyntax/ext
parent33b923fd44c5c5925e635815fce68bdf1f98740f (diff)
parent14aed81d9ac058824af62c37b892b50fdb769912 (diff)
downloadrust-a9fe312b98d5a6b194c4ad1a17dcf258ba9941ea.tar.gz
rust-a9fe312b98d5a6b194c4ad1a17dcf258ba9941ea.zip
Auto merge of #52592 - eddyb:or-default, r=Mark-Simulacrum
Use the new Entry::or_default method where possible.
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/expand.rs4
-rw-r--r--src/libsyntax/ext/tt/macro_rules.rs3
2 files changed, 3 insertions, 4 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 90b46268045..ffa2730d686 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -327,7 +327,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
         // Unresolved macros produce dummy outputs as a recovery measure.
         invocations.reverse();
         let mut expanded_fragments = Vec::new();
-        let mut derives = HashMap::new();
+        let mut derives: HashMap<Mark, Vec<_>> = HashMap::new();
         let mut undetermined_invocations = Vec::new();
         let (mut progress, mut force) = (false, !self.monotonic);
         loop {
@@ -388,7 +388,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
                         .map_attrs(|mut attrs| { attrs.retain(|a| a.path != "derive"); attrs });
                     let item_with_markers =
                         add_derived_markers(&mut self.cx, item.span(), &traits, item.clone());
-                    let derives = derives.entry(invoc.expansion_data.mark).or_insert_with(Vec::new);
+                    let derives = derives.entry(invoc.expansion_data.mark).or_default();
 
                     for path in &traits {
                         let mark = Mark::fresh(self.cx.current_expansion.mark);
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs
index f51d079a6c0..770561fe326 100644
--- a/src/libsyntax/ext/tt/macro_rules.rs
+++ b/src/libsyntax/ext/tt/macro_rules.rs
@@ -88,8 +88,7 @@ impl TTMacroExpander for MacroRulesMacroExpander {
 
 fn trace_macros_note(cx: &mut ExtCtxt, sp: Span, message: String) {
     let sp = sp.macro_backtrace().last().map(|trace| trace.call_site).unwrap_or(sp);
-    let values: &mut Vec<String> = cx.expansions.entry(sp).or_insert_with(Vec::new);
-    values.push(message);
+    cx.expansions.entry(sp).or_default().push(message);
 }
 
 /// Given `lhses` and `rhses`, this is the new macro we create