<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc/btree/map.rs, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2018-06-29T12:01:33+00:00</updated>
<entry>
<title>Move some alloc crate top-level items to a new alloc::collections module</title>
<updated>2018-06-29T12:01:33+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-06-15T01:52:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=121b57b87ae4b58082f38a450373636286a8d678'/>
<id>urn:sha1:121b57b87ae4b58082f38a450373636286a8d678</id>
<content type='text'>
This matches std::collections
</content>
</entry>
<entry>
<title>Stabilize entry-or-default</title>
<updated>2018-06-10T10:59:12+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2018-05-26T09:11:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=861c7cb9fd37fc171f80a9f0b58f995ad67c6df0'/>
<id>urn:sha1:861c7cb9fd37fc171f80a9f0b58f995ad67c6df0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Copy changes from HashMap over to BTreeMap.</title>
<updated>2018-06-03T00:44:15+00:00</updated>
<author>
<name>Corey Farwell</name>
<email>coreyf@rwell.org</email>
</author>
<published>2018-06-02T20:06:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dd88f88c02c901dd14e18a65c0b7132c36f530ee'/>
<id>urn:sha1:dd88f88c02c901dd14e18a65c0b7132c36f530ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stabilize RangeBounds collections_range #30877</title>
<updated>2018-05-24T12:01:40+00:00</updated>
<author>
<name>Cory Sherman</name>
<email>coryshrmn@gmail.com</email>
</author>
<published>2018-05-24T11:39:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1440f300d848610b0cb798a735e2c75a94998aa9'/>
<id>urn:sha1:1440f300d848610b0cb798a735e2c75a94998aa9</id>
<content type='text'>
rename RangeBounds::start() -&gt; start_bound()
rename RangeBounds::end() -&gt; end_bound()
</content>
</entry>
<entry>
<title>Make an ensure_root_is_owned method to reduce duplication</title>
<updated>2018-05-08T17:28:49+00:00</updated>
<author>
<name>C Jones</name>
<email>code@calebjones.net</email>
</author>
<published>2018-05-08T17:28:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e83c18f91d373592ecf7a0fbbc24d7597925af13'/>
<id>urn:sha1:e83c18f91d373592ecf7a0fbbc24d7597925af13</id>
<content type='text'>
Also remove some unnecessary debug_assert! when creating the shared
root, since the root should be stored in the rodata and thus be
impossible to accidentally modify.
</content>
</entry>
<entry>
<title>Add debug asserts and fix some violations</title>
<updated>2018-05-08T02:14:34+00:00</updated>
<author>
<name>C Jones</name>
<email>code@calebjones.net</email>
</author>
<published>2018-05-07T23:42:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3a3599e090cb6aa63a327351738d7633c934728'/>
<id>urn:sha1:f3a3599e090cb6aa63a327351738d7633c934728</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't drop the shared static node</title>
<updated>2018-05-08T02:14:34+00:00</updated>
<author>
<name>C Jones</name>
<email>code@calebjones.net</email>
</author>
<published>2018-05-01T04:21:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fa62eba92ad9a3d25b200835a5cd3ca48b700d75'/>
<id>urn:sha1:fa62eba92ad9a3d25b200835a5cd3ca48b700d75</id>
<content type='text'>
We modify the drop implementation in IntoIter to not drop the shared root
</content>
</entry>
<entry>
<title>Add a statically allocated empty node for empty maps</title>
<updated>2018-05-08T02:14:20+00:00</updated>
<author>
<name>C Jones</name>
<email>code@calebjones.net</email>
</author>
<published>2018-04-30T21:34:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ef6060c863c86e1422baa2cc85ae75af22feaf51'/>
<id>urn:sha1:ef6060c863c86e1422baa2cc85ae75af22feaf51</id>
<content type='text'>
This gives a pointer to that static empty node instead of allocating
a new node, and then whenever inserting makes sure that the root
isn't that empty node.
</content>
</entry>
<entry>
<title>Tweak some stabilizations in libstd</title>
<updated>2018-04-19T23:53:12+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-04-19T22:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ca79ba300a0934864d6ea520f9424d5f08ece687'/>
<id>urn:sha1:ca79ba300a0934864d6ea520f9424d5f08ece687</id>
<content type='text'>
This commit tweaks a few stable APIs in the `beta` branch before they hit
stable. The `str::is_whitespace` and `str::is_alphanumeric` functions were
deleted (added in #49381, issue at #49657). The `and_modify` APIs added
in #44734 were altered to take a `FnOnce` closure rather than a `FnMut` closure.

Closes #49581
Closes #49657
</content>
</entry>
<entry>
<title>Auto merge of #48945 - clarcharr:iter_exhaust, r=Kimundi</title>
<updated>2018-04-16T13:21:56+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2018-04-16T13:21:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1ef1563518d48ad9231b3ec3ac463d34d819ed28'/>
<id>urn:sha1:1ef1563518d48ad9231b3ec3ac463d34d819ed28</id>
<content type='text'>
Replace manual iterator exhaust with for_each(drop)

This originally added a dedicated method, `Iterator::exhaust`, and has since been replaced with `for_each(drop)`, which is more idiomatic.

&lt;del&gt;This is just shorthand for `for _ in &amp;mut self {}` or `while let Some(_) = self.next() {}`. This states the intent a lot more clearly than the identical code: run the iterator to completion.

&lt;del&gt;At least personally, my eyes tend to gloss over `for _ in &amp;mut self {}` without fully paying attention to what it does; having a `Drop` implementation akin to:

&lt;del&gt;`for _ in &amp;mut self {}; unsafe { free(self.ptr); }`&lt;/del&gt;

&lt;del&gt;Is not as clear as:

&lt;del&gt;`self.exhaust(); unsafe { free(self.ptr); }`

&lt;del&gt;Additionally, I've seen debate over whether `while let Some(_) = self.next() {}` or `for _ in &amp;mut self {}` is more clear, whereas `self.exhaust()` is clearer than both.
</content>
</entry>
</feed>
