From 787eddc1ab49766204c35d2a60c3d75b6ea7413c Mon Sep 17 00:00:00 2001 From: arlo Date: Thu, 23 Apr 2020 14:07:50 -0500 Subject: Add BinaryHeap::retain as suggested in #42849 --- src/liballoc/tests/binary_heap.rs | 8 ++++++++ src/liballoc/tests/lib.rs | 1 + 2 files changed, 9 insertions(+) (limited to 'src/liballoc/tests') diff --git a/src/liballoc/tests/binary_heap.rs b/src/liballoc/tests/binary_heap.rs index be5516f54f3..08ed5447772 100644 --- a/src/liballoc/tests/binary_heap.rs +++ b/src/liballoc/tests/binary_heap.rs @@ -372,6 +372,14 @@ fn assert_covariance() { } } +#[test] +fn test_retain() { + let mut a = BinaryHeap::from(vec![-10, -5, 1, 2, 4, 13]); + a.retain(|x| x % 2 == 0); + + assert_eq!(a.into_sorted_vec(), [-10, 2, 4]) +} + // old binaryheap failed this test // // Integrity means that all elements are present after a comparison panics, diff --git a/src/liballoc/tests/lib.rs b/src/liballoc/tests/lib.rs index ad6feaeebc6..78d49558262 100644 --- a/src/liballoc/tests/lib.rs +++ b/src/liballoc/tests/lib.rs @@ -14,6 +14,7 @@ #![feature(binary_heap_drain_sorted)] #![feature(vec_remove_item)] #![feature(split_inclusive)] +#![feature(binary_heap_retain)] use std::collections::hash_map::DefaultHasher; use std::hash::{Hash, Hasher}; -- cgit 1.4.1-3-g733a5