<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc/tests, branch 1.45.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.45.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.45.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-05-29T10:24:26+00:00</updated>
<entry>
<title>Remove flaky test and document the other's flakiness</title>
<updated>2020-05-29T10:24:26+00:00</updated>
<author>
<name>mendess</name>
<email>pedro.mendes.26@gmail.com</email>
</author>
<published>2020-05-29T10:18:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dbf32e2270f82601bd2816da270ce70269cc59ba'/>
<id>urn:sha1:dbf32e2270f82601bd2816da270ce70269cc59ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add tests</title>
<updated>2020-05-23T15:51:02+00:00</updated>
<author>
<name>mendess</name>
<email>pedro.mendes.26@gmail.com</email>
</author>
<published>2020-05-23T15:51:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=32eedadee1ed3273a318fa109c5261482e518578'/>
<id>urn:sha1:32eedadee1ed3273a318fa109c5261482e518578</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #72227 - nnethercote:tiny-vecs-are-dumb, r=Amanieu</title>
<updated>2020-05-19T15:12:12+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-05-19T15:12:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=672b272077561ca7b5027a8aff9ea2957c7d4c21'/>
<id>urn:sha1:672b272077561ca7b5027a8aff9ea2957c7d4c21</id>
<content type='text'>
Tiny Vecs are dumb.

Currently, if you repeatedly push to an empty vector, the capacity
growth sequence is 0, 1, 2, 4, 8, 16, etc. This commit changes the
relevant code (the "amortized" growth strategy) to skip 1 and 2, instead
using 0, 4, 8, 16, etc. (You can still get a capacity of 1 or 2 using
the "exact" growth strategy, e.g. via `reserve_exact()`.)

This idea (along with the phrase "tiny Vecs are dumb") comes from the
"doubling" growth strategy that was removed from `RawVec` in #72013.
That strategy was barely ever used -- only when a `VecDeque` was grown,
oddly enough -- which is why it was removed in #72013.

(Fun fact: until just a few days ago, I thought the "doubling" strategy
was used for repeated push case. In other words, this commit makes
`Vec`s behave the way I always thought they behaved.)

This change reduces the number of allocations done by rustc itself by
10% or more. It speeds up rustc, and will also speed up any other Rust
program that uses `Vec`s a lot.

In theory, the change could increase memory usage, but in practice it
doesn't. It would be an unusual program where very small `Vec`s having a
capacity of 4 rather than 1 or 2 would make a difference. You'd need a
*lot* of very small `Vec`s, and/or some very small `Vec`s with very
large elements.

r? @Amanieu
</content>
</entry>
<entry>
<title>Auto merge of #71447 - cuviper:unsized_cow, r=dtolnay</title>
<updated>2020-05-19T08:08:48+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-05-19T08:08:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=914adf04af1c1a984707f778da3d04590c03d144'/>
<id>urn:sha1:914adf04af1c1a984707f778da3d04590c03d144</id>
<content type='text'>
impl From&lt;Cow&gt; for Box, Rc, and Arc

These forward `Borrowed`/`Owned` values to existing `From` impls.

- `Box&lt;T&gt;` is a fundamental type, so it would be a breaking change to add a blanket impl. Therefore, `From&lt;Cow&gt;` is only implemented for `[T]`, `str`, `CStr`, `OsStr`, and `Path`.
- For `Rc&lt;T&gt;` and `Arc&lt;T&gt;`, `From&lt;Cow&gt;` is implemented for everything that implements `From` the borrowed and owned types separately.
</content>
</entry>
<entry>
<title>Tiny Vecs are dumb.</title>
<updated>2020-05-18T05:26:59+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>nnethercote@mozilla.com</email>
</author>
<published>2020-05-17T19:28:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f4b9dc31f68ff5b3dd19a22c4a3e3eefeaa0611a'/>
<id>urn:sha1:f4b9dc31f68ff5b3dd19a22c4a3e3eefeaa0611a</id>
<content type='text'>
Currently, if you repeatedly push to an empty vector, the capacity
growth sequence is 0, 1, 2, 4, 8, 16, etc. This commit changes the
relevant code (the "amortized" growth strategy) to skip 1 and 2 in most
cases, instead using 0, 4, 8, 16, etc. (You can still get a capacity of
1 or 2 using the "exact" growth strategy, e.g. via `reserve_exact()`.)

This idea (along with the phrase "tiny Vecs are dumb") comes from the
"doubling" growth strategy that was removed from `RawVec` in #72013.
That strategy was barely ever used -- only when a `VecDeque` was grown,
oddly enough -- which is why it was removed in #72013.

(Fun fact: until just a few days ago, I thought the "doubling" strategy
was used for repeated push case. In other words, this commit makes
`Vec`s behave the way I always thought they behaved.)

This change reduces the number of allocations done by rustc itself by
10% or more. It speeds up rustc, and will also speed up any other Rust
program that uses `Vec`s a lot.
</content>
</entry>
<entry>
<title>Rollup merge of #71485 - arlopurcell:binary_heap_retain, r=Amanieu</title>
<updated>2020-04-24T23:35:59+00:00</updated>
<author>
<name>Dylan DPC</name>
<email>dylan.dpc@gmail.com</email>
</author>
<published>2020-04-24T23:35:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e20ca112cc821136f2bf314c6b61fdb73a2e8d8d'/>
<id>urn:sha1:e20ca112cc821136f2bf314c6b61fdb73a2e8d8d</id>
<content type='text'>
Add BinaryHeap::retain as suggested in #42849

This PR implements retain for BinaryHeap as suggested in #42849.

This is my first PR for Rust, so please let me know if I should be doing anything differently, thanks!
</content>
</entry>
<entry>
<title>Add BinaryHeap::retain as suggested in #42849</title>
<updated>2020-04-24T09:44:20+00:00</updated>
<author>
<name>arlo</name>
<email>arlo@indeed.com</email>
</author>
<published>2020-04-23T19:07:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=787eddc1ab49766204c35d2a60c3d75b6ea7413c'/>
<id>urn:sha1:787eddc1ab49766204c35d2a60c3d75b6ea7413c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>liballoc: more compact way to adjust test sizes for Miri</title>
<updated>2020-04-23T18:05:01+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2020-04-23T18:05:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eb1de2ff39de631e9fd880f1e066fbe119b23f99'/>
<id>urn:sha1:eb1de2ff39de631e9fd880f1e066fbe119b23f99</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add tests from Cow</title>
<updated>2020-04-22T21:16:21+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2020-04-22T21:16:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=23f71fe5b518c6136990f79733155b4fa1314d2b'/>
<id>urn:sha1:23f71fe5b518c6136990f79733155b4fa1314d2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disable try_reserve tests on Android</title>
<updated>2020-04-09T14:55:12+00:00</updated>
<author>
<name>Amanieu d'Antras</name>
<email>amanieu@gmail.com</email>
</author>
<published>2020-04-09T14:55:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7060a9e68325f1009d2ffd6c87e00f0f7d013d8e'/>
<id>urn:sha1:7060a9e68325f1009d2ffd6c87e00f0f7d013d8e</id>
<content type='text'>
</content>
</entry>
</feed>
