bors
ef55a0a92f
Auto merge of #75207 - dylni:add-slice-check-range, r=KodrAus
...
Add `slice::check_range`
This method is useful for [`RangeBounds`] parameters. It's even been [rewritten](22ee68dc58/src/librustc_data_structures/sorted_map.rs (L214)
) [many](22ee68dc58/library/alloc/src/vec.rs (L1299)
) [times](22ee68dc58/library/core/src/slice/mod.rs (L2441)
) in the standard library, sometimes assuming that the bounds won't be [`usize::MAX`].
For example, [`Vec::drain`] creates an empty iterator when [`usize::MAX`] is used as an inclusive end bound:
```rust
assert!(vec![1].drain(..=usize::max_value()).eq(iter::empty()));
```
If this PR is merged, I'll create another to use it for those methods.
[`RangeBounds`]: https://doc.rust-lang.org/std/ops/trait.RangeBounds.html
[`usize::MAX`]: https://doc.rust-lang.org/std/primitive.usize.html#associatedconstant.MAX
[`Vec::drain`]: https://doc.rust-lang.org/std/vec/struct.Vec.html#method.drain
2020-09-04 12:21:43 +00:00
The8472
9aeea00222
get things to work under min_specialization by leaning more heavily on #[rustc_unsafe_specialization_marker]
2020-09-03 20:59:34 +02:00
The8472
2a51e579f5
avoid exposing that binary heap's IntoIter is backed by vec::IntoIter, use a private trait instead
2020-09-03 20:59:24 +02:00
The8472
0856771248
fix build issue due to stabilized feature
2020-09-03 20:59:23 +02:00
The8472
fbb3371e5b
remove unecessary feature flag
...
# Conflicts:
# library/alloc/src/lib.rs
2020-09-03 20:59:21 +02:00
The8472
07a8c1b95a
hide binary_heap::IntoIter internals behind impl Trait
2020-09-03 20:59:10 +02:00
The8472
232065074d
recover vectorization
...
switch to try_fold and segregate the drop handling to keep
collect::<Vec<u8>>() and similar optimizer-friendly
It comes at the cost of less accurate debug_asserts and code complexity
2020-09-03 20:59:09 +02:00
The8472
bb2d533bb9
in-place collect for Vec. Box<[]> and BinaryHeap IntoIter and some adapters
2020-09-03 20:59:03 +02:00
bors
9d74562432
Auto merge of #75505 - Dylan-DPC:feature/arc_new, r=KodrAus
...
Add Arc::new_cyclic
Rework of #72443
References #75861
cc @Diggsey @RalfJung
r? @KodrAus
2020-08-24 08:26:59 +00:00
Ralf Jung
0e4f335e63
stabilize ptr_offset_from
2020-08-22 14:37:10 +02:00
LeSeulArtichaut
1ababd8794
Use intra-doc-links in alloc
2020-08-21 00:25:25 +02:00
dylni
d04e6b8de5
Replace ad hoc implementations with slice::check_range
2020-08-16 21:47:12 -04:00
Stein Somers
ff45df2acf
Move btree unit test to their native, privileged location
2020-08-14 17:54:09 +02:00
Stein Somers
8d1c3c116b
BTreeMap: refactor splitpoint and move testing over to unit test
2020-08-14 16:41:54 +02:00
DPC
db34e352a7
fix duplicated feature gate
2020-08-14 01:05:43 +02:00
DPC
76b99d5f1d
Add Arc::new_cyclic
2020-08-13 03:07:54 +02:00
Tim Diekmann
ab9362ad9a
Replace Memoryblock
with NonNull<[u8]>
2020-08-04 18:03:34 +02:00
bors
b5eae9c44d
Auto merge of #74373 - lcnr:array_chunks, r=withoutboats
...
add `slice::array_chunks` to std
Now that #74113 has landed, these methods are suddenly usable. A rebirth of #72334
Tests are directly copied from `chunks_exact` and some additional tests for type inference.
r? @withoutboats as you are both part of t-libs and working on const generics. closes #60735
2020-08-01 06:54:14 +00:00
Manish Goregaokar
522ef2e981
Remove deny for intra doc link failures from library code, it's no longer necessary
2020-07-30 08:14:27 -07:00
Manish Goregaokar
7b7b5a7a12
Rename in library
2020-07-30 08:14:27 -07:00
Bastian Kauschke
95fa63e63f
liballoc export ArrayChunks
2020-07-30 10:50:35 +02:00
mark
2c31b45ae8
mv std libs to library/
2020-07-27 19:51:13 -05:00