about summary refs log tree commit diff
path: root/library/alloc
AgeCommit message (Collapse)AuthorLines
2020-12-29Do not create dangling &T in Weak<T>::dropCAD97-2/+2
2020-12-29docs: fixing referencesC-1/+1
2020-12-29fix: moved import into #[cfg(test)]C-2/+1
2020-12-29style: applying Rust styleC-80/+74
2020-12-29refactor: removing // ignore-tidy-filelengthC-1/+0
2020-12-29refactor: moved SpecExtend into spec_extend.rsC-79/+87
2020-12-29refactor: moving SpecFromIter into spec_from_iter.rsC-92/+102
2020-12-29refactor: moved SpecFromIterNested to spec_from_iter_nested.rsC-52/+60
2020-12-29refactor: moved InPlaceDrop into in_place_drop.rsC-22/+28
2020-12-29refactor: moved SetLenOnDrop to set_len_on_dropC-29/+32
2020-12-29refactor: moved SpecFromElem to spec_from_elem.rsC-55/+64
2020-12-29refactor: moved PartialEq into partial_eqC-39/+45
2020-12-29refactor: moving SourceIterMarker into source_iter_marker.rsC-104/+113
2020-12-29refactor: moved IsZero into is_zero.rsC-70/+75
2020-12-29refactor: moving AsIntoIter into into_iter.rsC-15/+16
2020-12-29refactor: moved IntoIter into into_iter.rsC-264/+276
2020-12-29refactor: moved Vec impl Cow into cow.rsC-35/+37
2020-12-29refactor: moving Drain into drain.rsC-147/+162
2020-12-29refactor: moving Splice into splice.rsC-128/+138
2020-12-29refactor: moving DrainFilter into drain_filter.rsC-138/+148
2020-12-29refactor: moving vec.rs to vec/mod.rsC-0/+0
2020-12-29Stabilize by-value `[T; N]` iterator `core::array::IntoIter`Simon Sapin-1/+0
Tracking issue: https://github.com/rust-lang/rust/issues/65798 This is unblocked now that `min_const_generics` has been stabilized in https://github.com/rust-lang/rust/pull/79135. This PR does *not* include the corresponding `IntoIterator` impl, which is https://github.com/rust-lang/rust/pull/65819. Instead, an iterator can be constructed through the `new` method. `new` would become unnecessary when `IntoIterator` is implemented and might be deprecated then, although it will stay stable.
2020-12-28Rollup merge of #80448 - m-ou-se:deque-range-version, r=m-ou-seMara Bos-2/+2
Fix stabilization version of deque_range feature. See https://github.com/rust-lang/rust/pull/79022#issuecomment-751315315
2020-12-28Rollup merge of #80430 - xfix:add-length-as-doc-alias, r=steveklabnikMara Bos-0/+7
Add "length" as doc alias to len methods Currently when searching for `length` there are no results: https://doc.rust-lang.org/std/?search=length. This makes `len` methods appear when searching for `length`.
2020-12-28Rollup merge of #80398 - CAD97:fix-80365, r=dtolnayMara Bos-2/+2
Use raw version of align_of in rc data_offset This was missed in #73845 when switching to use the raw operators. Fixes #80365
2020-12-28Rollup merge of #80390 - ssomers:btree_cleanup_slices_2, r=Mark-SimulacrumMara Bos-50/+48
BTreeMap: rename the area access methods r? `@Mark-Simulacrum`
2020-12-28Fix stabilization version of deque_range feature.Mara Bos-2/+2
2020-12-28Mention Arc::make_mut and Rc::make_mut in the documentation of CowFrank Steffahn-0/+5
2020-12-28Rollup merge of #80353 - ssomers:btree_test_split_off, r=Mark-SimulacrumDylan DPC-7/+38
BTreeMap: test split_off (and append) more thoroughly Using DeterministicRng as a poor man's property based testing rig. r? ``@Mark-Simulacrum``
2020-12-28Add "length" as doc alias to len methodsKonrad Borowski-0/+7
2020-12-28de-stabilize unsized raw ptr methods for WeakRalf Jung-50/+6
2020-12-26Use raw version of align_of in rc data_offsetCAD97-2/+2
This was missed in #73845 when switching to use the raw operators. Fixes #80365
2020-12-26BTreeMap: rename the area access methodsStein Somers-50/+48
2020-12-26Auto merge of #79520 - ssomers:btree_cleanup_1, r=Mark-Simulacrumbors-64/+17
BTreeMap: clean up access to MaybeUninit arrays Stop exposing and using immutable access to `MaybeUninit` slices when we need and have exclusive access to the tree. r? `@Mark-Simulacrum`
2020-12-26Auto merge of #80354 - ssomers:btree_test_compact, r=Mark-Simulacrumbors-9/+33
BTreeMap: test full nodes a little more r? `@Mark-Simulacrum`
2020-12-26Auto merge of #79022 - SpyrosRoum:stabilize-deque_range, r=m-ou-sebors-7/+2
stabilize deque_range Make #74217 stable, stabilizing `VecDeque::range` and `VecDeque::range_mut`. Pr: #74099 r? `@m-ou-se`
2020-12-25BTreeMap: declare exclusive access to arrays when copying from themStein Somers-64/+17
2020-12-25Rollup merge of #80352 - ssomers:btree_test_diagnostics, r=Mark-SimulacrumDylan DPC-5/+9
BTreeMap: make test cases more explicit on failure r? `@Mark-Simulacrum`
2020-12-24BTreeMap: test full nodes a little moreStein Somers-9/+33
2020-12-24BTreeMap: test split_off (and append) more thoroughlyStein Somers-7/+38
2020-12-24BTreeMap: make test cases more explicit on failureStein Somers-5/+9
2020-12-24BTreeMap: avoid implicit use of node length in flightStein Somers-97/+81
2020-12-23Auto merge of #79521 - ssomers:btree_cleanup_2, r=Mark-Simulacrumbors-106/+108
BTreeMap: relax the explicit borrow rule to make code shorter and safer Expressions like `.reborrow_mut().into_len_mut()` are annoyingly long, and kind of dangerous for the reason `reborrow_mut()` is unsafe. By relaxing the single rule, we no longer have to make an exception for functions with a `borrow` name and functions like `as_leaf_mut`. This is largely restoring the declaration style of the btree::node API about a year ago, but with more explanation and consistency. r? `@Mark-Simulacrum`
2020-12-19Rollup merge of #78083 - ChaiTRex:master, r=m-ou-seYuki Okushi-5/+7
Stabilize or_insert_with_key Stabilizes the `or_insert_with_key` feature from https://github.com/rust-lang/rust/issues/71024. This allows inserting key-derived values when a `HashMap`/`BTreeMap` entry is vacant. The difference between this and `.or_insert_with(|| ... )` is that this provides a reference to the key to the closure after it is moved with `.entry(key_being_moved)`, avoiding the need to copy or clone the key.
2020-12-18Stabilize Arc::{incr,decr}_strong_countYoshua Wuyts-13/+9
2020-12-18Rollup merge of #80003 - Stupremee:fix-zst-vecdeque-conversion-panic, r=dtolnayDylan DPC-2/+13
Fix overflow when converting ZST Vec to VecDeque ```rust let v = vec![(); 100]; let queue = VecDeque::from(v); println!("{:?}", queue); ``` This code will currently panic with a capacity overflow. This PR resolves this issue and makes the code run fine. Resolves #78532
2020-12-17BTreeMap: relax the explicit borrow rule to make code shorter and saferStein Somers-106/+108
2020-12-17Rollup merge of #80022 - ssomers:btree_cleanup_8, r=Mark-SimulacrumGuillaume Gomez-2/+2
BTreeSet: simplify implementation of pop_first/pop_last …and stop it interfering in #79245. r? ```````@Mark-Simulacrum```````
2020-12-17Rollup merge of #80006 - ssomers:btree_cleanup_6, r=Mark-SimulacrumGuillaume Gomez-28/+27
BTreeMap: more expressive local variables in merge r? ```````@Mark-Simulacrum```````
2020-12-15Auto merge of #78682 - glandium:issue78471, r=lcnrbors-1/+5
Do not inline finish_grow Fixes #78471. Looking at libgkrust.a in Firefox, the sizes for the `gkrust.*.o` file is: - 18584816 (text) 582418 (data) with unmodified master - 17937659 (text) 582554 (data) with #72227 reverted - 17968228 (text) 582858 (data) with `#[inline(never)]` on `grow_amortized` and `grow_exact`, but that has some performance consequences - 17927760 (text) 582322 (data) with this change So in terms of size, at least in the case of Firefox, this patch more than undoes the regression. I don't think it should affect performance, but we'll see.