Skip to content

Commit 114d5f2

Browse files
committed
s/drain_filter/extract_if/ for Vec, Btree{Map,Set} and LinkedList
1 parent b7ce7ed commit 114d5f2

File tree

31 files changed

+204
-216
lines changed

31 files changed

+204
-216
lines changed

compiler/rustc_errors/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
66
#![feature(array_windows)]
7-
#![feature(drain_filter)]
7+
#![feature(extract_if)]
88
#![feature(if_let_guard)]
99
#![feature(let_chains)]
1010
#![feature(never_type)]
@@ -1399,7 +1399,7 @@ impl HandlerInner {
13991399
!self.emitted_diagnostics.insert(diagnostic_hash)
14001400
};
14011401

1402-
diagnostic.children.drain_filter(already_emitted_sub).for_each(|_| {});
1402+
diagnostic.children.extract_if(already_emitted_sub).for_each(|_| {});
14031403

14041404
self.emitter.emit_diagnostic(diagnostic);
14051405
if diagnostic.is_error() {

compiler/rustc_hir_analysis/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ This API is completely unstable and subject to change.
5959
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
6060
#![feature(box_patterns)]
6161
#![feature(control_flow_enum)]
62-
#![feature(drain_filter)]
6362
#![feature(hash_drain_filter)]
6463
#![feature(if_let_guard)]
6564
#![feature(is_sorted)]

compiler/rustc_hir_typeck/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#![feature(box_patterns)]
66
#![feature(min_specialization)]
77
#![feature(control_flow_enum)]
8-
#![feature(drain_filter)]
98
#![feature(option_as_slice)]
109
#![allow(rustc::potential_query_instability)]
1110
#![recursion_limit = "256"]

compiler/rustc_metadata/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
22
#![feature(decl_macro)]
3-
#![feature(drain_filter)]
3+
#![feature(extract_if)]
44
#![feature(generators)]
55
#![feature(iter_from_generator)]
66
#![feature(let_chains)]

compiler/rustc_metadata/src/native_libs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ impl<'tcx> Collector<'tcx> {
425425
// can move them to the end of the list below.
426426
let mut existing = self
427427
.libs
428-
.drain_filter(|lib| {
428+
.extract_if(|lib| {
429429
if lib.name.as_str() == passed_lib.name {
430430
// FIXME: This whole logic is questionable, whether modifiers are
431431
// involved or not, library reordering and kind overriding without

compiler/rustc_middle/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
#![feature(try_reserve_kind)]
5555
#![feature(nonzero_ops)]
5656
#![feature(decl_macro)]
57-
#![feature(drain_filter)]
57+
#![feature(extract_if)]
5858
#![feature(intra_doc_pointers)]
5959
#![feature(yeet_expr)]
6060
#![feature(result_option_inspect)]

compiler/rustc_middle/src/ty/diagnostics.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ pub fn suggest_constraining_type_params<'a>(
237237

238238
{
239239
let mut sized_constraints =
240-
constraints.drain_filter(|(_, def_id)| *def_id == tcx.lang_items().sized_trait());
240+
constraints.extract_if(|(_, def_id)| *def_id == tcx.lang_items().sized_trait());
241241
if let Some((constraint, def_id)) = sized_constraints.next() {
242242
applicability = Applicability::MaybeIncorrect;
243243

compiler/rustc_mir_transform/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#![deny(rustc::untranslatable_diagnostic)]
33
#![deny(rustc::diagnostic_outside_of_impl)]
44
#![feature(box_patterns)]
5-
#![feature(drain_filter)]
65
#![feature(is_sorted)]
76
#![feature(let_chains)]
87
#![feature(map_try_insert)]

compiler/rustc_mir_transform/src/sroa.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -436,26 +436,24 @@ impl<'tcx, 'll> MutVisitor<'tcx> for ReplacementVisitor<'tcx, 'll> {
436436
VarDebugInfoContents::Composite { ty: _, ref mut fragments } => {
437437
let mut new_fragments = Vec::new();
438438
debug!(?fragments);
439-
fragments
440-
.drain_filter(|fragment| {
441-
if let Some(repl) =
439+
fragments.retain_mut(|fragment| {
440+
if let Some(repl) =
442441
self.replacements.replace_place(self.tcx, fragment.contents.as_ref())
443442
{
444443
fragment.contents = repl;
445-
false
444+
true
446445
} else if let Some(local) = fragment.contents.as_local()
447446
&& let Some(frg) = self.gather_debug_info_fragments(local)
448447
{
449448
new_fragments.extend(frg.into_iter().map(|mut f| {
450449
f.projection.splice(0..0, fragment.projection.iter().copied());
451450
f
452451
}));
453-
true
454-
} else {
455452
false
453+
} else {
454+
true
456455
}
457-
})
458-
.for_each(drop);
456+
});
459457
debug!(?fragments);
460458
debug!(?new_fragments);
461459
fragments.extend(new_fragments);

compiler/rustc_resolve/src/diagnostics.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2494,7 +2494,7 @@ fn show_candidates(
24942494
for path_strings in [&mut accessible_path_strings, &mut inaccessible_path_strings] {
24952495
path_strings.sort_by(|a, b| a.0.cmp(&b.0));
24962496
let core_path_strings =
2497-
path_strings.drain_filter(|p| p.0.starts_with("core::")).collect::<Vec<_>>();
2497+
path_strings.extract_if(|p| p.0.starts_with("core::")).collect::<Vec<_>>();
24982498
path_strings.extend(core_path_strings);
24992499
path_strings.dedup_by(|a, b| a.0 == b.0);
25002500
}

0 commit comments

Comments
 (0)