Rollup merge of #105126 - Sp00ph:const_new_in, r=dtolnay

Make `VecDeque::new_in` unstably const

(See #105072)
This commit is contained in:
Matthias Krüger 2022-12-02 08:28:09 +01:00 committed by GitHub
commit 4c4dec4408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -566,10 +566,9 @@ impl<T, A: Allocator> VecDeque<T, A> {
///
/// let deque: VecDeque<u32> = VecDeque::new();
/// ```
// FIXME: This should probably be const
#[inline]
#[unstable(feature = "allocator_api", issue = "32838")]
pub fn new_in(alloc: A) -> VecDeque<T, A> {
pub const fn new_in(alloc: A) -> VecDeque<T, A> {
VecDeque { head: 0, len: 0, buf: RawVec::new_in(alloc) }
}
@ -2152,7 +2151,7 @@ impl<T, A: Allocator> VecDeque<T, A> {
self.head = tail;
} else {
// ´free` is smaller than both `head_len` and `tail_len`.
// `free` is smaller than both `head_len` and `tail_len`.
// the general algorithm for this first moves the slices
// right next to each other and then uses `slice::rotate`
// to rotate them into place: