<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc, branch 1.34.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.34.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.34.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2019-02-25T20:24:10+00:00</updated>
<entry>
<title>Auto merge of #58302 - SimonSapin:tryfrom, r=alexcrichton</title>
<updated>2019-02-25T20:24:10+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2019-02-25T20:24:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=00aae71f503b1ab592f48de47dd30912f3858748'/>
<id>urn:sha1:00aae71f503b1ab592f48de47dd30912f3858748</id>
<content type='text'>
Stabilize TryFrom and TryInto with a convert::Infallible empty enum

This is the plan proposed in https://github.com/rust-lang/rust/issues/33417#issuecomment-423073898
</content>
</entry>
<entry>
<title>Rollup merge of #58704 - taiki-e:extern-crate, r=Centril</title>
<updated>2019-02-25T02:18:06+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-25T02:18:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6806d0cf692edf9aa308cc841c81afbfc83c03bf'/>
<id>urn:sha1:6806d0cf692edf9aa308cc841c81afbfc83c03bf</id>
<content type='text'>
Remove some unnecessary 'extern crate'

cc #58099

r? @Centril
</content>
</entry>
<entry>
<title>Rollup merge of #58686 - hellow554:rustfmt_depr, r=cramertj</title>
<updated>2019-02-25T02:18:03+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-25T02:18:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ed73ec0e4cf1dbe11685f1311683d6fd31b7196f'/>
<id>urn:sha1:ed73ec0e4cf1dbe11685f1311683d6fd31b7196f</id>
<content type='text'>
replace deprecated rustfmt_skip with rustfmt::skip
</content>
</entry>
<entry>
<title>Rollup merge of #58421 - nox:relax-bounds-binary-heap, r=dtolnay</title>
<updated>2019-02-25T02:18:01+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-25T02:18:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4f8ae0abdb32d3079cf7edce47461679d702c1f2'/>
<id>urn:sha1:4f8ae0abdb32d3079cf7edce47461679d702c1f2</id>
<content type='text'>
Relax some Ord bounds on BinaryHeap&lt;T&gt;

Notably, iterators don't require any trait bounds to be iterated.
</content>
</entry>
<entry>
<title>Remove some unnecessary 'extern crate'</title>
<updated>2019-02-24T15:40:34+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2019-02-24T15:40:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9a0b4b6705469e356a03fb7ea9522636492957c4'/>
<id>urn:sha1:9a0b4b6705469e356a03fb7ea9522636492957c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #58183 - jethrogb:jb/alloc-box-guarantees, r=SimonSapin</title>
<updated>2019-02-24T04:55:57+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-24T04:55:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=55b5ab83592d607a6ba8793ac76bedadb05e5bab'/>
<id>urn:sha1:55b5ab83592d607a6ba8793ac76bedadb05e5bab</id>
<content type='text'>
Clarify guarantees for `Box` allocation

This basically says `Box` does the obvious things for its allocations.

See also: https://users.rust-lang.org/t/alloc-crate-guarantees/24981

This may require a T-libs FCP? Not sure.

r? @sfackler
</content>
</entry>
<entry>
<title>replace deprecated rustfmt_skip with rustfmt::skip</title>
<updated>2019-02-23T21:40:56+00:00</updated>
<author>
<name>Marcel Hellwig</name>
<email>git@cookiesoft.de</email>
</author>
<published>2019-02-23T21:40:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6464a0baf98b54184751263b0bbf7404cb1d234b'/>
<id>urn:sha1:6464a0baf98b54184751263b0bbf7404cb1d234b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #58628 - RReverser:optimise-vec-false, r=oli-obk</title>
<updated>2019-02-23T08:25:32+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-23T08:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93bfa92a3dc698261b6a76d546e8018b023b443c'/>
<id>urn:sha1:93bfa92a3dc698261b6a76d546e8018b023b443c</id>
<content type='text'>
Optimise vec![false; N] to zero-alloc

Nowadays booleans have a well-defined representation, so there is no reason not to optimise their allocation.
</content>
</entry>
<entry>
<title>Rollup merge of #58620 - ssomers:btreeset_intersection_benchmarks, r=KodrAus</title>
<updated>2019-02-22T13:58:14+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-22T13:58:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a2a2b7b7495701d326b16a53706319f529ebcd78'/>
<id>urn:sha1:a2a2b7b7495701d326b16a53706319f529ebcd78</id>
<content type='text'>
introduce benchmarks of BTreeSet.intersection

16 tests combining 4 kinds of contents with different sizes exposing edge cases.
The ones with asymmetric sizes are addressed by https://github.com/rust-lang/rust/pull/58577.
The pos_vs_neg cases seems (are were meant to be) the same as the neg_vs_pos case (same thing, reverse order) but reality shows a surprsing 25% difference.
</content>
</entry>
<entry>
<title>Rollup merge of #58431 - RalfJung:btree, r=Mark-Simulacrum</title>
<updated>2019-02-22T13:58:00+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-02-22T13:58:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=42b9a046d46ef00ecd3a13135f3cd5d7044218b6'/>
<id>urn:sha1:42b9a046d46ef00ecd3a13135f3cd5d7044218b6</id>
<content type='text'>
fix overlapping references in BTree

This fixes two kinds of overlapping references in BTree (both found by running the BTree test suite in Miri).

In `into_slices_mut`, we did `k.into_key_slice_mut()` followed by `self.into_val_slice_mut()` (where `k` is a copy of `self`). Calling `into_val_slice_mut` calls `self.len()`, which creates a shared reference to `NodeHeader`, which unfortunately (due to padding) overlaps with the mutable reference returned by `into_key_slice_mut`.  Hence the key slice got (partially) invalidated.  The fix is to avoid creating an `&amp;NodeHeader` after the first slice got created.

In the iterators, we used to first create the references that will be returned, and then perform the walk on the tree.  Walking the tree creates references (such as `&amp;mut InternalNode`) that overlap with all of the keys and values stored in a pointer; in particular, they overlap with the references the iterator will later return. This is fixed by reordering the operations of walking the tree and obtaining the inner references.

The test suite still passes (and it passes in Miri now!), but there is a lot of code here that I do not understand...
</content>
</entry>
</feed>
