about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2020-09-03move unsafety into method, not relevant to callerThe8472-2/+2
2020-09-03replace unsafe ptr::write with deref-write, benchmarks show no differenceThe8472-10/+4
2020-09-03pacify tidyThe8472-77/+90
2020-09-03replace drop flag with ManuallyDropThe8472-6/+4
2020-09-03mark as_inner as unsafe and update commentsThe8472-50/+76
2020-09-03avoid exposing that binary heap's IntoIter is backed by vec::IntoIter, use a ↵The8472-9/+26
private trait instead
2020-09-03fix: bench didn't black_box its resultsThe8472-3/+1
2020-09-03fix build issue due to stabilized featureThe8472-0/+1
2020-09-03impl TrustedRandomAccess for vec::IntoIterThe8472-3/+28
2020-09-03bench larger allocationsThe8472-6/+6
2020-09-03include in-place .zip() in testThe8472-1/+8
2020-09-03remove unecessary feature flagThe8472-1/+0
# Conflicts: # library/alloc/src/lib.rs
2020-09-03make tidy happyThe8472-4/+8
2020-09-03support in-place iteration for most adaptersThe8472-0/+136
`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-03move free-standing method into trait implThe8472-79/+75
2020-09-03add in-place iteration for ZipThe8472-1/+24
this picks the left hand side as source since it might be more natural to consume that as IntoIter source
2020-09-03bench in-place zipThe8472-0/+37
2020-09-03additional specializations testsThe8472-0/+22
2020-09-03fix some in-place-collect edge-casesThe8472-0/+13
- it's an allocation optimization, so don't attempt to do it on ZSTs - drop the tail of partially exhausted iters
2020-09-03remove redundant codeThe8472-7/+1
2020-09-03improve commentsThe8472-7/+10
2020-09-03specialize creating a Vec from a slice iterator where T: CopyThe8472-0/+14
this was already implemented for Extend but not for FromIterator
2020-09-03restore SpecFrom<T, TrustedLen<Item=T>> specialization by nestingThe8472-1/+29
specializations
2020-09-03use From specializations on extend if extended Vec is emptyThe8472-3/+25
this enables in-place iteration and allocation reuse in additional cases
2020-09-03exercise more of the in-place pipeline in the benchThe8472-1/+8
2020-09-03bench in-place collect of droppablesThe8472-0/+15
2020-09-03cyclic in-place reuse benchThe8472-0/+20
2020-09-03return the things under test so they get black_box()'edThe8472-1/+10
2020-09-03add benches from bluss' gistsThe8472-0/+104
2020-09-03use memmove instead of generic in-place iteration for IntoIter sourceThe8472-2/+10
this is the original SpecExtend<_, IntoIter> logic except generalizing the fast-path to include a memmove
2020-09-03restore Vec::extend specialization for vec::IntoIter sources thatThe8472-0/+9
was lost during refactoring
2020-09-03hide binary_heap::IntoIter internals behind impl TraitThe8472-1/+2
2020-09-03remove example that relied on non-public traitThe8472-5/+0
2020-09-03recover vectorizationThe8472-23/+54
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-03update benchesThe8472-3/+4
2020-09-03simplify pointer arithmeticThe8472-11/+15
2020-09-03fix doc linkThe8472-1/+1
2020-09-03use add instead of offsetThe8472-1/+1
2020-09-03implement drop handlingThe8472-7/+26
2020-09-03assert that SourceIter requirements have not been violated by the pipelineThe8472-0/+2
2020-09-03mark SourceIter as unsafe, document invariantsThe8472-18/+52
2020-09-03in-place collect for Vec. Box<[]> and BinaryHeap IntoIter and some adaptersThe8472-43/+280
2020-09-03benchThe8472-1/+40
2020-09-03unrelated typo fixThe8472-1/+1
2020-09-03Auto merge of #76283 - RalfJung:miri, r=RalfJungbors-8/+8
update miri Fixes https://github.com/rust-lang/rust/issues/76190 Cc @rust-lang/miri r? @ghost
2020-09-03update miriRalf Jung-8/+8
2020-09-03Auto merge of #76235 - jyn514:std-intra-links, r=poliorceticsbors-79/+34
Convert many files to intra-doc links Helps with https://github.com/rust-lang/rust/issues/75080 r? @poliorcetics I recommend reviewing one commit at a time, but the diff is small enough you can do it all at once if you like :)
2020-09-03Auto merge of #75971 - Amjad50:libstd-deny-unsafe_op_in_unsafe_fn, ↵bors-8/+60
r=Mark-Simulacrum Applied `#![deny(unsafe_op_in_unsafe_fn)]` in library/std/src/wasi partial fix for #73904 There are still more that was not applied in [mod.rs]( https://github.com/rust-lang/rust/blob/38fab2ea92a48980219989817201bf2094ae826a/library/std/src/sys/wasi/mod.rs) and that is due to its using files from `../unsupported` like: ``` #[path = "../unsupported/cmath.rs"] pub mod cmath; ```
2020-09-03Applied `#![deny(unsafe_op_in_unsafe_fn)]` in library/std/src/wasiAmjad Alsharafi-8/+60
All refactoring needed was only in `alloc.rs`, changed part of the code in `alloc` method to satisfy the SAFETY statement
2020-09-03Auto merge of #76265 - Dylan-DPC:rollup-j3i509l, r=Dylan-DPCbors-300/+361
Rollup of 12 pull requests Successful merges: - #75150 (Add a note for Ipv4Addr::to_ipv6_compatible) - #76120 (Add `[T; N]::as_[mut_]slice`) - #76142 (Make all methods of `std::net::Ipv4Addr` const) - #76164 (Link to slice pattern in array docs) - #76167 (Replace MinGW library hack with heuristic controlling link mode) - #76204 (Rename and expose LoopState as ControlFlow) - #76238 (Move to intra-doc links for library/core/src/iter/traits/iterator.rs) - #76242 (Read: adjust a FIXME reference) - #76243 (Fix typos in vec try_reserve(_exact) docs) - #76245 (inliner: Avoid query cycles when optimizing generators) - #76255 (Update books) - #76261 (Use intra-doc links in `core::marker`) Failed merges: r? @ghost