Yuki Okushi
1033c74665
Rollup merge of #74874 - ssomers:btree_cleanup_8, r=Mark-Simulacrum
...
BTreeMap: define forget_type only when relevant
Similar to `forget_node_type` for handles.
No effect on generated code, apart maybe from the superfluous calls that might not have been optimized away.
r? @Mark-Simulacrum
2020-08-03 01:05:18 +09:00
Yuki Okushi
814b31eb2e
Rollup merge of #74762 - ssomers:btree_no_root_in_remove_kv_tracking, r=Mark-Simulacrum
...
BTreeMap::drain_filter should not touch the root during iteration
Although Miri doesn't point it out, I believe there is undefined behaviour using `drain_filter` when draining the 11th-last element from a tree that was larger. When this happens, the last remaining child nodes are merged, the root becomes empty and is popped from the tree. That last step establishes a mutable reference to the node elected root and writes a pointer in `node::Root`, while iteration continues to visit the same node.
This is mostly code from #74437 , slightly adapted.
2020-08-03 01:05:13 +09:00
Yuki Okushi
8c331ee470
Rollup merge of #74686 - ssomers:btree_cleanup_3, r=Mark-Simulacrum
...
BTreeMap: remove into_slices and its unsafe block
A small tweak to make BTreeMap code shorter and less unsafe.
r? @Mark-Simulacrum
2020-08-03 01:05:12 +09:00
liuzhenyu
3b4151c9f3
fix typos
2020-08-02 23:20:00 +08:00
bors
e18b56345f
Auto merge of #75033 - Manishearth:rollup-d8afil1, r=Manishearth
...
Rollup of 5 pull requests
Successful merges:
- #74602 (Clarify the doc for MaybeUninit::zeroed on incorrect use)
- #74720 (Clean up E0728 explanation)
- #74992 (fix rustdoc generic param order)
- #75015 (Add Vec::spare_capacity_mut)
- #75022 (Use a slice pattern instead of rchunks_exact(_).next())
Failed merges:
r? @ghost
2020-08-02 01:04:54 +00:00
bors
5ef872f961
Auto merge of #74605 - rust-lang:vec-leak, r=Amanieu
...
Stabilize Vec::leak as a method
Closes https://github.com/rust-lang/rust/issues/62195
The signature is changed to a method rather than an associated function:
```diff
-pub fn leak<'a>(vec: Vec<T>) -> &'a mut [T]
+pub fn leak<'a>(self) -> &'a mut [T]
```
The reason for `Box::leak` not to be a method (`Deref` to an arbitrary `T` which might have its own, different `leak` method) does not apply.
2020-08-01 22:29:30 +00:00
Stein Somers
99398dd2fd
BTreeMap::drain_filter no longer touches the root during iteration
2020-08-01 23:35:30 +02:00
Stein Somers
602f9aab89
More benchmarks of BTreeMap mutation
2020-08-01 20:23:13 +02:00
Amanieu d'Antras
df3a30aee4
Add Vec::spare_capacity_mut
2020-08-01 18:24:35 +01:00
Stein Somers
240ef70c7b
Define forget_type only when relevant
2020-08-01 14:09:19 +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
Bastian Kauschke
d51b71a35a
add tracking issue
2020-08-01 07:49:24 +02:00
Yuki Okushi
ab4570eaf0
Rollup merge of #74644 - crlf0710:drop_old_stuff, r=Amanieu
...
Remove `linked_list_extras` methods.
Removing these in favor of the `Cursor` API in https://github.com/rust-lang/rust/issues/58533 .
Closes #27794 .
r? @Amanieu
2020-08-01 08:02:04 +09:00
Charles Lew
dc21178830
Remove linked_list_extras
methods.
2020-08-01 00:54:22 +08:00
Ralf Jung
ff0c3a9209
expand comments
2020-07-31 14:03:42 +02:00
Ralf Jung
7e168a696f
reduce slice::panic_safe test size further in Miri
2020-07-31 11:56:08 +02:00
Ralf Jung
0a62b7dc92
make some vec_deque tests less exhaustive in Miri
2020-07-31 11:56:08 +02:00
bors
ffa80f01d8
Auto merge of #74926 - Manishearth:rename-lint, r=jyn514
...
Rename intra_doc_link_resolution_failure
It should be plural to follow the conventions in https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md#lints
2020-07-31 02:20:47 +00:00
Manish Goregaokar
46379687ac
Rollup merge of #74782 - vorner:weak-into-raw-cnt-doc, r=dtolnay
...
Don't use "weak count" around Weak::from_raw_ptr
As `Rc/Arc::weak_count` returns 0 when having no strong counts, this
could be confusing and it's better to avoid using that completely.
Closes #73840 .
2020-07-30 13:04:29 -07: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
Manish Goregaokar
0f9b7bd80f
Rollup merge of #74902 - rust-lang:into_raw_non_null, r=dtolnay
...
Remove deprecated unstable `{Box,Rc,Arc}::into_raw_non_null` functions
FCP: https://github.com/rust-lang/rust/issues/47336#issuecomment-619369613
2020-07-29 16:38:28 -07:00
Manish Goregaokar
c07998e0e7
Rollup merge of #74852 - lzutao:inline-rm-tostring, r=nnethercote
...
Explain why inlining default ToString impl
Trying to remove inline attribute from default ToString impl causes regression.
Perf result at <https://github.com/rust-lang/rust/pull/74852#issuecomment-664812994 >.
2020-07-29 16:38:22 -07:00
Tim Diekmann
b01fbc437e
Simplify implementations of AllocRef
for Global
and System
2020-07-29 11:41:36 +02:00
Simon Sapin
1fb67363bf
Remove deprecated unstable {Box,Rc,Arc}::into_raw_non_null
functions
...
FCP: https://github.com/rust-lang/rust/issues/47336#issuecomment-619369613
2020-07-29 11:00:31 +02:00
Simon Sapin
7d759f539f
Stabilize Vec::leak
2020-07-29 10:53:55 +02:00
Simon Sapin
d8bcf75206
Make Vec::leak
a method instead of an associated function.
...
The reason for `Box::leak` not to be a method (`Deref` to an arbitrary `T`
which might have its own, different `leak` method) does not apply.
2020-07-29 10:53:55 +02:00
Tomasz Miąsko
1b4a6a5183
Link to syntax section when referencing it
2020-07-29 10:43:40 +02:00
Lzu Tao
27e1b0632c
Explain why inline default ToString impl
2020-07-29 07:38:06 +00:00
Stein Somers
c4f4639e1a
Remove into_slices and its unsafe block
2020-07-28 15:21:27 +02:00
Jon Gjengset
2f96ce89d0
Stabilize deque_make_contiguous
...
Closes #70929 .
2020-07-28 08:36:54 -04:00
Tim Diekmann
076ef66ba2
Remove in-place allocation and revert to separate methods for zeroed allocations
...
Fix docs
2020-07-28 12:41:18 +02:00
Aleksey Kladov
6e9dc7d9ff
Add str::[r]split_once
...
This is useful for quick&dirty parsing of key: value config pairs
2020-07-28 09:58:20 +02:00
Michal 'vorner' Vaner
ad6d63ef01
Don't use "weak count" around Weak::from_raw_ptr
...
As `Rc/Arc::weak_count` returns 0 when having no strong counts, this
could be confusing and it's better to avoid using that completely.
Closes #73840 .
2020-07-28 08:30:32 +02:00
mark
2c31b45ae8
mv std libs to library/
2020-07-27 19:51:13 -05:00