The8472
c731648e77
fix: bench didn't black_box its results
2020-09-03 20:59:23 +02:00
The8472
0856771248
fix build issue due to stabilized feature
2020-09-03 20:59:23 +02:00
The8472
e85cfa4f22
impl TrustedRandomAccess for vec::IntoIter
2020-09-03 20:59:22 +02:00
The8472
e1151844fa
bench larger allocations
2020-09-03 20:59:22 +02:00
The8472
fd16202e36
include in-place .zip() in test
2020-09-03 20:59:21 +02:00
The8472
fbb3371e5b
remove unecessary feature flag
...
# Conflicts:
# library/alloc/src/lib.rs
2020-09-03 20:59:21 +02:00
The8472
70293c658f
make tidy happy
2020-09-03 20:59:20 +02:00
The8472
21a17d105c
support in-place iteration for most adapters
...
`Take` is not included since users probably call it with small constants
and it doesn't make sense to hold onto huge allocations in that case
2020-09-03 20:59:20 +02:00
The8472
085eb20a61
move free-standing method into trait impl
2020-09-03 20:59:19 +02:00
The8472
0f122e1119
add in-place iteration for Zip
...
this picks the left hand side as source since it might be more natural to
consume that as IntoIter source
2020-09-03 20:59:19 +02:00
The8472
3d5e9f1904
bench in-place zip
2020-09-03 20:59:18 +02:00
The8472
2b0b2ae9f6
additional specializations tests
2020-09-03 20:59:17 +02:00
The8472
00a32eb54f
fix some in-place-collect edge-cases
...
- it's an allocation optimization, so don't attempt to do it on ZSTs
- drop the tail of partially exhausted iters
2020-09-03 20:59:17 +02:00
The8472
8c816b96dd
remove redundant code
2020-09-03 20:59:16 +02:00
The8472
cc67c8eb91
improve comments
2020-09-03 20:59:16 +02:00
The8472
290fe895ba
specialize creating a Vec from a slice iterator where T: Copy
...
this was already implemented for Extend but not for FromIterator
2020-09-03 20:59:15 +02:00
The8472
dac0edfaaa
restore SpecFrom<T, TrustedLen<Item=T>> specialization by nesting
...
specializations
2020-09-03 20:59:15 +02:00
The8472
582fbb1d62
use From specializations on extend if extended Vec is empty
...
this enables in-place iteration and allocation reuse in additional cases
2020-09-03 20:59:14 +02:00
The8472
a596ff36b5
exercise more of the in-place pipeline in the bench
2020-09-03 20:59:14 +02:00
The8472
a9c78e371e
bench in-place collect of droppables
2020-09-03 20:59:13 +02:00
The8472
8ac96e6a98
cyclic in-place reuse bench
2020-09-03 20:59:13 +02:00
The8472
bb4f888a59
return the things under test so they get black_box()'ed
2020-09-03 20:59:12 +02:00
The8472
2f700d085a
add benches from bluss' gists
2020-09-03 20:59:12 +02:00
The8472
a4e385a0d0
use memmove instead of generic in-place iteration for IntoIter source
...
this is the original SpecExtend<_, IntoIter> logic except generalizing
the fast-path to include a memmove
2020-09-03 20:59:11 +02:00
The8472
631543dcb4
restore Vec::extend specialization for vec::IntoIter sources that
...
was lost during refactoring
2020-09-03 20:59:11 +02:00
The8472
07a8c1b95a
hide binary_heap::IntoIter internals behind impl Trait
2020-09-03 20:59:10 +02:00
The8472
b90816deb7
remove example that relied on non-public 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
6c5c47b82b
update benches
2020-09-03 20:59:09 +02:00
The8472
bead910b21
simplify pointer arithmetic
2020-09-03 20:59:08 +02:00
The8472
f904d0339a
fix doc link
2020-09-03 20:59:07 +02:00
The8472
328a75f766
use add instead of offset
2020-09-03 20:59:07 +02:00
The8472
88b7ae642c
implement drop handling
2020-09-03 20:59:06 +02:00
The8472
73a982e9ec
assert that SourceIter requirements have not been violated by the pipeline
2020-09-03 20:59:06 +02:00
The8472
2a327394e4
mark SourceIter as unsafe, document invariants
2020-09-03 20:59:05 +02:00
The8472
bb2d533bb9
in-place collect for Vec. Box<[]> and BinaryHeap IntoIter and some adapters
2020-09-03 20:59:03 +02:00
The8472
038394a330
bench
2020-09-03 20:56:34 +02:00
The8472
076417e978
unrelated typo fix
2020-09-03 20:56:34 +02:00
Aaron Hill
53cce257ae
Respect -Z proc-macro-backtrace
flag for panics inside libproc_macro
...
Fixes #76270
Previously, any panic occuring during a call to a libproc_macro method
(e.g. calling `Ident::new` with an invalid identifier) would always
cause an ICE message to be printed.
2020-09-03 12:13:26 -04:00
bors
3edf11cf81
Auto merge of #76283 - RalfJung:miri, r=RalfJung
...
update miri
Fixes https://github.com/rust-lang/rust/issues/76190
Cc @rust-lang/miri r? @ghost
2020-09-03 16:00:55 +00:00
Ivan Tham
4df64905ea
Link & primitive using relative link
2020-09-03 23:02:27 +08:00
Joshua Nelson
9d7e797514
display_for -> suggestion_for
2020-09-03 09:31:14 -04:00
Joshua Nelson
9815010d8f
Remove disambiguators from link text
...
Related to https://github.com/rust-lang/rust/issues/65354
- Pass through the replacement text to `markdown.rs`
- Add some tests
- Add a state machine that actually replaces the text when parsing Markdown
2020-09-03 09:29:22 -04:00
Joshua Nelson
31a7b6e832
Refactor RenderedLink into its own type
2020-09-03 09:29:21 -04:00
Joshua Nelson
d5495e2155
Refactor ItemLink
into its own struct
2020-09-03 09:29:20 -04:00
Joshua Nelson
89ae59a360
Remove needless .to_owned() for link
2020-09-03 09:29:20 -04:00
Aleksey Kladov
850c3219fb
Move jointness censoring to proc_macro
...
Proc-macro API currently exposes jointness in `Punct` tokens. That is,
`+` in `+one` is **non** joint.
Our lexer produces jointness info for all tokens, so we need to censor
it *somewhere*
Previously we did this in a lexer, but it makes more sense to do this
in a proc-macro server.
2020-09-03 15:22:07 +02:00
Dan Aloni
e7d7615105
rustc_lint: avoid trimmed paths for ty_find_init_error
2020-09-03 14:36:58 +03:00
Dan Aloni
51742be6d8
specialization_graph: avoid trimmed paths for OverlapError
2020-09-03 14:09:50 +03:00
Ralf Jung
615c1460dd
update miri
2020-09-03 12:41:27 +02:00