Skip to content

Commit 75edb76

Browse files
authored
Rollup merge of #85571 - workingjubilee:reverse-prepend, r=Amanieu
Remove surplus prepend LinkedList fn This nightly library feature provides a function on `LinkedList<T>` that is identical to `fn append` with a reversed order of arguments. Observe this diff against the `fn append` doctest: ```diff +#![feature(linked_list_prepend)] fn main() { use std::collections::LinkedList; let mut list1 = LinkedList::new(); list1.push_back('a'); let mut list2 = LinkedList::new(); list2.push_back('b'); list2.push_back('c'); - list1.append(&mut list2); + list2.prepend(&mut list1); - let mut iter = list1.iter(); + let mut iter = list2.iter(); assert_eq!(iter.next(), Some(&'a')); assert_eq!(iter.next(), Some(&'b')); assert_eq!(iter.next(), Some(&'c')); assert!(iter.next().is_none()); - assert!(list2.is_empty()); + assert!(list1.is_empty()); } ``` As this has received no obvious request to stabilize it, nor does it have a tracking issue, and was left on nightly and the consensus seems to have been to deprecate it in this pre-1.0 PR in 2014, #20356, I propose simply removing it.
2 parents d978060 + c516e71 commit 75edb76

File tree

1 file changed

+0
-21
lines changed

1 file changed

+0
-21
lines changed

library/alloc/src/collections/linked_list.rs

-21
Original file line numberDiff line numberDiff line change
@@ -442,27 +442,6 @@ impl<T> LinkedList<T> {
442442
}
443443
}
444444

445-
/// Moves all elements from `other` to the begin of the list.
446-
#[unstable(feature = "linked_list_prepend", issue = "none")]
447-
pub fn prepend(&mut self, other: &mut Self) {
448-
match self.head {
449-
None => mem::swap(self, other),
450-
Some(mut head) => {
451-
// `as_mut` is okay here because we have exclusive access to the entirety
452-
// of both lists.
453-
if let Some(mut other_tail) = other.tail.take() {
454-
unsafe {
455-
head.as_mut().prev = Some(other_tail);
456-
other_tail.as_mut().next = Some(head);
457-
}
458-
459-
self.head = other.head.take();
460-
self.len += mem::replace(&mut other.len, 0);
461-
}
462-
}
463-
}
464-
}
465-
466445
/// Provides a forward iterator.
467446
///
468447
/// # Examples

0 commit comments

Comments
 (0)