]> git.lizzy.rs Git - rust.git/commitdiff
Convert more usages over
authorChris Gregory <czipperz@gmail.com>
Sun, 30 Jun 2019 18:30:01 +0000 (11:30 -0700)
committerChris Gregory <czipperz@gmail.com>
Tue, 2 Jul 2019 03:21:12 +0000 (20:21 -0700)
30 files changed:
src/liballoc/collections/btree/map.rs
src/liballoc/collections/linked_list.rs
src/liballoc/str.rs
src/librustc/hir/lowering.rs
src/librustc/infer/nll_relate/mod.rs
src/librustc/infer/outlives/obligations.rs
src/librustc/infer/region_constraints/mod.rs
src/librustc/middle/region.rs
src/librustc/middle/resolve_lifetime.rs
src/librustc_codegen_llvm/back/archive.rs
src/librustc_codegen_ssa/back/command.rs
src/librustc_codegen_ssa/back/write.rs
src/librustc_mir/borrow_check/mod.rs
src/librustc_mir/build/matches/simplify.rs
src/librustc_mir/util/def_use.rs
src/librustc_resolve/macros.rs
src/librustc_resolve/resolve_imports.rs
src/librustc_typeck/check/method/probe.rs
src/librustdoc/clean/mod.rs
src/librustdoc/clean/simplify.rs
src/librustdoc/html/render.rs
src/librustdoc/passes/collapse_docs.rs
src/libstd/panicking.rs
src/libstd/sync/mpsc/sync.rs
src/libstd/sys/windows/pipe.rs
src/libsyntax/ext/expand.rs
src/libsyntax/ext/tt/transcribe.rs
src/libsyntax/parse/parser.rs
src/libsyntax/test.rs
src/tools/compiletest/src/runtest.rs

index 6b079fc87cc78905f431a097a2aa8aaee7a33f3b..d9ebc40aa2cb943990bf35781d224405031e55d8 100644 (file)
@@ -770,8 +770,8 @@ pub fn append(&mut self, other: &mut Self) {
         }
 
         // First, we merge `self` and `other` into a sorted sequence in linear time.
-        let self_iter = mem::replace(self, BTreeMap::new()).into_iter();
-        let other_iter = mem::replace(other, BTreeMap::new()).into_iter();
+        let self_iter = mem::take(self).into_iter();
+        let other_iter = mem::take(other).into_iter();
         let iter = MergeIter {
             left: self_iter.peekable(),
             right: other_iter.peekable(),
index 40a82d6feaa98ff5dbdf8856056a58227817c729..ca9e78bb459ace0cac5b89b4e6ef5b61b7f5b2b3 100644 (file)
@@ -708,7 +708,7 @@ pub fn split_off(&mut self, at: usize) -> LinkedList<T> {
         let len = self.len();
         assert!(at <= len, "Cannot split off at a nonexistent index");
         if at == 0 {
-            return mem::replace(self, Self::new());
+            return mem::take(self);
         } else if at == len {
             return Self::new();
         }
index 40104554fe574a9caa8d7f5b6a5a19d62e354647..70a93157c9ee26d12e3070d7b411cf0e51c2e05f 100644 (file)
@@ -203,7 +203,7 @@ fn to_owned(&self) -> String {
     }
 
     fn clone_into(&self, target: &mut String) {
-        let mut b = mem::replace(target, String::new()).into_bytes();
+        let mut b = mem::take(target).into_bytes();
         self.as_bytes().clone_into(&mut b);
         *target = unsafe { String::from_utf8_unchecked(b) }
     }
index 9c4a208f0f9fc92fb4e193ab508918d06097b3ae..2e7a934a7692cb80f9cf545866ae86706bbcb9a0 100644 (file)
@@ -1278,8 +1278,8 @@ fn with_new_scopes<T, F>(&mut self, f: F) -> T
         let was_in_loop_condition = self.is_in_loop_condition;
         self.is_in_loop_condition = false;
 
-        let catch_scopes = mem::replace(&mut self.catch_scopes, Vec::new());
-        let loop_scopes = mem::replace(&mut self.loop_scopes, Vec::new());
+        let catch_scopes = mem::take(&mut self.catch_scopes);
+        let loop_scopes = mem::take(&mut self.loop_scopes);
         let ret = f(self);
         self.catch_scopes = catch_scopes;
         self.loop_scopes = loop_scopes;
index a1a93eb5521387ee03fcbd30c2f1371e3a6d80ee..a0621af053783865d46f234fea1e9aff97b8a0c2 100644 (file)
@@ -364,7 +364,7 @@ fn relate_ty_var<PAIR: VidValuePair<'tcx>>(
         // been fully instantiated and hence the set of scopes we have
         // doesn't matter -- just to be sure, put an empty vector
         // in there.
-        let old_a_scopes = ::std::mem::replace(pair.vid_scopes(self), vec![]);
+        let old_a_scopes = ::std::mem::take(pair.vid_scopes(self));
 
         // Relate the generalized kind to the original one.
         let result = pair.relate_generalized_ty(self, generalized_ty);
index 0ae4446ee63faf5044938b5a9d2bf554cbc54cad..e1470e4ef0232318468feb298536a639fe47fda7 100644 (file)
@@ -112,7 +112,7 @@ pub fn register_region_obligation_with_cause(
 
     /// Trait queries just want to pass back type obligations "as is"
     pub fn take_registered_region_obligations(&self) -> Vec<(hir::HirId, RegionObligation<'tcx>)> {
-        ::std::mem::replace(&mut *self.region_obligations.borrow_mut(), vec![])
+        ::std::mem::take(&mut *self.region_obligations.borrow_mut())
     }
 
     /// Process the region obligations that must be proven (during
index f2235fe8d6d1245868a8167a6d83499f05250b40..b27c39c4f71b6dafc27a6006af299c9a43e0bc6f 100644 (file)
@@ -410,7 +410,7 @@ pub fn take_and_reset_data(&mut self) -> RegionConstraintData<'tcx> {
             *any_unifications = false;
         }
 
-        mem::replace(data, RegionConstraintData::default())
+        mem::take(data)
     }
 
     pub fn data(&self) -> &RegionConstraintData<'tcx> {
index 114684b15240279badb11c6241fe448c607016e8..1a188bad11bd51607ccf7133b0f068ba01a7d3eb 100644 (file)
@@ -1375,7 +1375,7 @@ fn visit_body(&mut self, body: &'tcx hir::Body) {
 
         let outer_ec = mem::replace(&mut self.expr_and_pat_count, 0);
         let outer_cx = self.cx;
-        let outer_ts = mem::replace(&mut self.terminating_scopes, FxHashSet::default());
+        let outer_ts = mem::take(&mut self.terminating_scopes);
         self.terminating_scopes.insert(body.value.hir_id.local_id);
 
         if let Some(root_id) = self.cx.root_id {
index 412346bab257e6b4b7c25906291ed58fe0d649cc..dada3a87be51474255f757b8e6cf73a2334fe525 100644 (file)
@@ -18,7 +18,7 @@
 use rustc_macros::HashStable;
 use std::borrow::Cow;
 use std::cell::Cell;
-use std::mem::replace;
+use std::mem::{replace, take};
 use syntax::ast;
 use syntax::attr;
 use syntax::ptr::P;
@@ -441,7 +441,7 @@ fn visit_nested_item(&mut self, _: hir::ItemId) {}
 
     fn visit_nested_body(&mut self, body: hir::BodyId) {
         // Each body has their own set of labels, save labels.
-        let saved = replace(&mut self.labels_in_fn, vec![]);
+        let saved = take(&mut self.labels_in_fn);
         let body = self.tcx.hir().body(body);
         extract_labels(self, body);
         self.with(
@@ -1405,9 +1405,8 @@ fn with<F>(&mut self, wrap_scope: Scope<'_>, f: F)
             lifetime_uses,
             ..
         } = self;
-        let labels_in_fn = replace(&mut self.labels_in_fn, vec![]);
-        let xcrate_object_lifetime_defaults =
-            replace(&mut self.xcrate_object_lifetime_defaults, DefIdMap::default());
+        let labels_in_fn = take(&mut self.labels_in_fn);
+        let xcrate_object_lifetime_defaults = take(&mut self.xcrate_object_lifetime_defaults);
         let mut this = LifetimeContext {
             tcx: *tcx,
             map: map,
index e0e26e9af2537796bdb37428eb82076f4cc34196..ca3b2b84655e2939857df0bb775d9e950eb2baef 100644 (file)
@@ -205,8 +205,8 @@ fn llvm_archive_kind(&self) -> Result<ArchiveKind, &str> {
     }
 
     fn build_with_llvm(&mut self, kind: ArchiveKind) -> io::Result<()> {
-        let removals = mem::replace(&mut self.removals, Vec::new());
-        let mut additions = mem::replace(&mut self.additions, Vec::new());
+        let removals = mem::take(&mut self.removals);
+        let mut additions = mem::take(&mut self.additions);
         let mut strings = Vec::new();
         let mut members = Vec::new();
 
index 78570cce57dd9ea9d88ea6ddd73aa4dda8d2b382..d610805b5bbd0e1a8575bd95e0d5a0ac65afc172 100644 (file)
@@ -110,7 +110,7 @@ pub fn get_args(&self) -> &[OsString] {
     }
 
     pub fn take_args(&mut self) -> Vec<OsString> {
-        mem::replace(&mut self.args, Vec::new())
+        mem::take(&mut self.args)
     }
 
     /// Returns a `true` if we're pretty sure that this'll blow OS spawn limits,
index 309187ca2eaa3e14244967044e31df5dbe1a9ff0..5ca38273269f38e2cb774764ae9de064ebe67770 100644 (file)
@@ -1345,12 +1345,9 @@ fn start_executing_work<B: ExtraBackendMethods>(
                     assert!(!started_lto);
                     started_lto = true;
 
-                    let needs_fat_lto =
-                        mem::replace(&mut needs_fat_lto, Vec::new());
-                    let needs_thin_lto =
-                        mem::replace(&mut needs_thin_lto, Vec::new());
-                    let import_only_modules =
-                        mem::replace(&mut lto_import_only_modules, Vec::new());
+                    let needs_fat_lto = mem::take(&mut needs_fat_lto);
+                    let needs_thin_lto = mem::take(&mut needs_thin_lto);
+                    let import_only_modules = mem::take(&mut lto_import_only_modules);
 
                     for (work, cost) in generate_lto_work(&cgcx, needs_fat_lto,
                                                           needs_thin_lto, import_only_modules) {
index 4872440f5bd4ae371b7a7eb37ee87e0498557179..58009167e3c3fdd0ec876d5dc1f6ddcc6cd58048 100644 (file)
@@ -275,7 +275,7 @@ fn do_mir_borrowck<'a, 'tcx>(
     mbcx.analyze_results(&mut state); // entry point for DataflowResultsConsumer
 
     // Convert any reservation warnings into lints.
-    let reservation_warnings = mem::replace(&mut mbcx.reservation_warnings, Default::default());
+    let reservation_warnings = mem::take(&mut mbcx.reservation_warnings);
     for (_, (place, span, location, bk, borrow)) in reservation_warnings {
         let mut initial_diag =
             mbcx.report_conflicting_borrow(location, (&place, span), bk, &borrow);
index b1b5233fbc8750962318244e112f546c545a58a3..7125eb6850bb6c6f7639362b28406ea61d299fdd 100644 (file)
@@ -28,7 +28,7 @@ pub fn simplify_candidate<'pat>(&mut self,
                                     candidate: &mut Candidate<'pat, 'tcx>) {
         // repeatedly simplify match pairs until fixed point is reached
         loop {
-            let match_pairs = mem::replace(&mut candidate.match_pairs, vec![]);
+            let match_pairs = mem::take(&mut candidate.match_pairs);
             let mut changed = false;
             for match_pair in match_pairs {
                 match self.simplify_match_pair(match_pair, candidate) {
index fac752dbf023e9675fd7231f39b35bc7a90b2c65..59821440c6619cfb2edded3d832b1a19281201a4 100644 (file)
@@ -31,7 +31,7 @@ pub fn analyze(&mut self, body: &Body<'_>) {
         self.clear();
 
         let mut finder = DefUseFinder {
-            info: mem::replace(&mut self.info, IndexVec::new()),
+            info: mem::take(&mut self.info),
         };
         finder.visit_body(body);
         self.info = finder.info
index 392a46a262f5038c2b59e0dcfebf7c1f137678ef..c544b3f46030bfab114d75c1fdc89b3f35106cf9 100644 (file)
@@ -946,7 +946,7 @@ pub fn finalize_current_module_macro_resolutions(&mut self) {
         };
 
         let macro_resolutions =
-            mem::replace(&mut *module.multi_segment_macro_resolutions.borrow_mut(), Vec::new());
+            mem::take(&mut *module.multi_segment_macro_resolutions.borrow_mut());
         for (mut path, path_span, kind, parent_scope, initial_res) in macro_resolutions {
             // FIXME: Path resolution will ICE if segment IDs present.
             for seg in &mut path { seg.id = None; }
@@ -973,7 +973,7 @@ pub fn finalize_current_module_macro_resolutions(&mut self) {
         }
 
         let macro_resolutions =
-            mem::replace(&mut *module.single_segment_macro_resolutions.borrow_mut(), Vec::new());
+            mem::take(&mut *module.single_segment_macro_resolutions.borrow_mut());
         for (ident, kind, parent_scope, initial_binding) in macro_resolutions {
             match self.early_resolve_ident_in_lexical_scope(ident, ScopeSet::Macro(kind),
                                                             &parent_scope, true, true, ident.span) {
@@ -998,7 +998,7 @@ pub fn finalize_current_module_macro_resolutions(&mut self) {
             }
         }
 
-        let builtin_attrs = mem::replace(&mut *module.builtin_attrs.borrow_mut(), Vec::new());
+        let builtin_attrs = mem::take(&mut *module.builtin_attrs.borrow_mut());
         for (ident, parent_scope) in builtin_attrs {
             let _ = self.early_resolve_ident_in_lexical_scope(
                 ident, ScopeSet::Macro(MacroKind::Attr), &parent_scope, true, true, ident.span
index f69849bb4a9ee8d8bd843f755e0d302ee5ed18cc..404d728d8808ce5cd54fe8e448a3ee86ea8924b2 100644 (file)
@@ -682,7 +682,7 @@ pub fn resolve_imports(&mut self) {
         let mut prev_num_indeterminates = self.indeterminate_imports.len() + 1;
         while self.indeterminate_imports.len() < prev_num_indeterminates {
             prev_num_indeterminates = self.indeterminate_imports.len();
-            for import in mem::replace(&mut self.indeterminate_imports, Vec::new()) {
+            for import in mem::take(&mut self.indeterminate_imports) {
                 match self.resolve_import(&import) {
                     true => self.determined_imports.push(import),
                     false => self.indeterminate_imports.push(import),
index 661883f2ac11d6916b2e7d1dfbe370bb6ada856a..bd4cf9d208684de104e9da519c6a97502a7eb58b 100644 (file)
@@ -970,9 +970,9 @@ fn pick(mut self) -> PickResult<'tcx> {
 
         debug!("pick: actual search failed, assemble diagnotics");
 
-        let static_candidates = mem::replace(&mut self.static_candidates, vec![]);
+        let static_candidates = mem::take(&mut self.static_candidates);
         let private_candidate = self.private_candidate.take();
-        let unsatisfied_predicates = mem::replace(&mut self.unsatisfied_predicates, vec![]);
+        let unsatisfied_predicates = mem::take(&mut self.unsatisfied_predicates);
 
         // things failed, so lets look at all traits, for diagnostic purposes now:
         self.reset();
index 3fe048a6986bb2e0bb33d70e7888560ea2226ab8..8fec433e56de6d5c65bbbba04701f605103c32d1 100644 (file)
@@ -4408,7 +4408,7 @@ pub fn enter_impl_trait<F, R>(cx: &DocContext<'_>, f: F) -> R
 where
     F: FnOnce() -> R,
 {
-    let old_bounds = mem::replace(&mut *cx.impl_trait_bounds.borrow_mut(), Default::default());
+    let old_bounds = mem::take(&mut *cx.impl_trait_bounds.borrow_mut());
     let r = f();
     assert!(cx.impl_trait_bounds.borrow().is_empty());
     *cx.impl_trait_bounds.borrow_mut() = old_bounds;
index 36e6a6003df0943ed821f854e1a41161a0eb4b18..e4fba73b8205a21c1c9e8f242092d1f88fd55d6c 100644 (file)
@@ -131,7 +131,7 @@ pub fn ty_params(mut params: Vec<clean::GenericParamDef>) -> Vec<clean::GenericP
     for param in &mut params {
         match param.kind {
             clean::GenericParamDefKind::Type { ref mut bounds, .. } => {
-                *bounds = ty_bounds(mem::replace(bounds, Vec::new()));
+                *bounds = ty_bounds(mem::take(bounds));
             }
             _ => panic!("expected only type parameters"),
         }
index 2080637ecb402dab68c79df8c821c83b45ee5bdc..2d6503c944560d313beb2775d8fec3feb743e875 100644 (file)
@@ -660,7 +660,7 @@ pub fn run(mut krate: clean::Crate,
         deref_trait_did,
         deref_mut_trait_did,
         owned_box_did,
-        masked_crates: mem::replace(&mut krate.masked_crates, Default::default()),
+        masked_crates: mem::take(&mut krate.masked_crates),
         param_names: external_param_names,
         aliases: Default::default(),
     };
index 8666ba357b832f92bc10cf1f1c506c514575a2a1..e15a95e2e1a32537ba2684206f6d426a13ab09fe 100644 (file)
@@ -46,7 +46,7 @@ fn collapse(doc_strings: &mut Vec<DocFragment>) {
     let mut docs = vec![];
     let mut last_frag: Option<DocFragment> = None;
 
-    for frag in replace(doc_strings, vec![]) {
+    for frag in take(doc_strings) {
         if let Some(mut curr_frag) = last_frag.take() {
             let curr_kind = curr_frag.kind();
             let new_kind = frag.kind();
index 797d85e941d96d2ee430039fd6f2f197e435e2aa..952fd9ebfdf0723d20494c6bd683ed537bdc4f76 100644 (file)
@@ -364,7 +364,7 @@ fn fill(&mut self) -> &mut String {
 
     unsafe impl<'a> BoxMeUp for PanicPayload<'a> {
         fn box_me_up(&mut self) -> *mut (dyn Any + Send) {
-            let contents = mem::replace(self.fill(), String::new());
+            let contents = mem::take(self.fill());
             Box::into_raw(Box::new(contents))
         }
 
index 3c4f8e077c922ee536340b607fc3e2c2b29179cc..f8fcd3ff5a5bccb5b07cabfb3e1d627af13cb224 100644 (file)
@@ -383,7 +383,7 @@ pub fn drop_port(&self) {
         // needs to be careful to destroy the data *outside* of the lock to
         // prevent deadlock.
         let _data = if guard.cap != 0 {
-            mem::replace(&mut guard.buf.buf, Vec::new())
+            mem::take(&mut guard.buf.buf)
         } else {
             Vec::new()
         };
index 493ee8a9a2d7c72ccbd26ef90fc429addcb7eecb..c77f30dfc7109cbd1d9f1c9287d216c6463210b4 100644 (file)
@@ -342,7 +342,7 @@ fn drop(&mut self) {
         // If anything here fails, there's not really much we can do, so we leak
         // the buffer/OVERLAPPED pointers to ensure we're at least memory safe.
         if self.pipe.cancel_io().is_err() || self.result().is_err() {
-            let buf = mem::replace(self.dst, Vec::new());
+            let buf = mem::take(self.dst);
             let overlapped = Box::new(unsafe { mem::zeroed() });
             let overlapped = mem::replace(&mut self.overlapped, overlapped);
             mem::forget((buf, overlapped));
index 5473f55aa33704053b03cdf982f7f108fc162a9a..c0f721b466e912c8ef7622bc6c2ac0f6e2cc7918 100644 (file)
@@ -307,7 +307,7 @@ fn expand_fragment(&mut self, input_fragment: AstFragment) -> AstFragment {
             } else {
                 self.resolve_imports();
                 if undetermined_invocations.is_empty() { break }
-                invocations = mem::replace(&mut undetermined_invocations, Vec::new());
+                invocations = mem::take(&mut undetermined_invocations);
                 force = !mem::replace(&mut progress, false);
                 continue
             };
index ea7f8e356aa63214fbecbf501ec553829d47ec05..e04fd2ddc05bce62332409adbd00515ad3de7069 100644 (file)
@@ -249,7 +249,7 @@ pub fn transcribe(
             quoted::TokenTree::Delimited(mut span, delimited) => {
                 span = span.apply_mark(cx.current_expansion.mark);
                 stack.push(Frame::Delimited { forest: delimited, idx: 0, span });
-                result_stack.push(mem::replace(&mut result, Vec::new()));
+                result_stack.push(mem::take(&mut result));
             }
 
             // Nothing much to do here. Just push the token to the result, being careful to
index 696b5f48385e7a9631d65207884e7a55acf40f6b..8ac20f33908b8c665d76775885a49f9ac54aa521 100644 (file)
@@ -7699,7 +7699,7 @@ fn collect_tokens<F, R>(&mut self, f: F) -> PResult<'a, (R, TokenStream)>
         let mut tokens = Vec::new();
         let prev_collecting = match self.token_cursor.frame.last_token {
             LastToken::Collecting(ref mut list) => {
-                Some(mem::replace(list, Vec::new()))
+                Some(mem::take(list))
             }
             LastToken::Was(ref mut last) => {
                 tokens.extend(last.take());
@@ -7717,7 +7717,7 @@ fn collect_tokens<F, R>(&mut self, f: F) -> PResult<'a, (R, TokenStream)>
 
         // Pull out the tokens that we've collected from the call to `f` above.
         let mut collected_tokens = match *last_token {
-            LastToken::Collecting(ref mut v) => mem::replace(v, Vec::new()),
+            LastToken::Collecting(ref mut v) => mem::take(v),
             LastToken::Was(_) => panic!("our vector went away?"),
         };
 
index f90b76721ee16a29402eb3e432505abb288df948..156fab8834ca4653e52bf6813aab747a8a47f168 100644 (file)
@@ -120,8 +120,8 @@ fn visit_crate(&mut self, c: &mut ast::Crate) {
         // We don't want to recurse into anything other than mods, since
         // mods or tests inside of functions will break things
         if let ast::ItemKind::Mod(mut module) = item.node {
-            let tests = mem::replace(&mut self.tests, Vec::new());
-            let tested_submods = mem::replace(&mut self.tested_submods, Vec::new());
+            let tests = mem::take(&mut self.tests);
+            let tested_submods = mem::take(&mut self.tested_submods);
             noop_visit_mod(&mut module, self);
             let tests = mem::replace(&mut self.tests, tests);
             let tested_submods = mem::replace(&mut self.tested_submods, tested_submods);
index 35caf82dd71287fcf65e17d335cdd2329dc71150..6053b538ff3225fcb3b50b054c95d4954c9cc93d 100644 (file)
@@ -3608,7 +3608,7 @@ fn nocomment_mir_line(line: &str) -> &str {
 
 fn read2_abbreviated(mut child: Child) -> io::Result<Output> {
     use crate::read2::read2;
-    use std::mem::replace;
+    use std::mem::take;
 
     const HEAD_LEN: usize = 160 * 1024;
     const TAIL_LEN: usize = 256 * 1024;
@@ -3632,7 +3632,7 @@ fn extend(&mut self, data: &[u8]) {
                         return;
                     }
                     let tail = bytes.split_off(new_len - TAIL_LEN).into_boxed_slice();
-                    let head = replace(bytes, Vec::new());
+                    let head = take(bytes);
                     let skipped = new_len - HEAD_LEN - TAIL_LEN;
                     ProcOutput::Abbreviated {
                         head,