<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc/linked_list.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<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>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>
<entry>
<title>Replace manual iter exhaust with for_each(drop).</title>
<updated>2018-04-04T23:10:38+00:00</updated>
<author>
<name>Clar Charr</name>
<email>clar@charr.xyz</email>
</author>
<published>2018-04-04T23:10:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5c58eec0bd8cee8fb2a191396d5ad5b5c9b0116a'/>
<id>urn:sha1:5c58eec0bd8cee8fb2a191396d5ad5b5c9b0116a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove all unstable placement features</title>
<updated>2018-04-03T09:02:34+00:00</updated>
<author>
<name>Aidan Hobson Sayers</name>
<email>aidanhs@cantab.net</email>
</author>
<published>2018-02-18T17:39:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9b5859aea199d5f34a4d4b5ae7112c5c41f3b242'/>
<id>urn:sha1:9b5859aea199d5f34a4d4b5ae7112c5c41f3b242</id>
<content type='text'>
Closes #22181, #27779
</content>
</entry>
<entry>
<title>core: Update stability attributes for FusedIterator</title>
<updated>2018-03-03T13:23:05+00:00</updated>
<author>
<name>Ulrik Sverdrup</name>
<email>bluss@users.noreply.github.com</email>
</author>
<published>2018-03-03T13:15:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c7c23fe9482c129855a667909ff58969f6efe1f6'/>
<id>urn:sha1:c7c23fe9482c129855a667909ff58969f6efe1f6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>core: Stabilize FusedIterator</title>
<updated>2018-03-03T13:14:03+00:00</updated>
<author>
<name>Ulrik Sverdrup</name>
<email>bluss@users.noreply.github.com</email>
</author>
<published>2018-01-15T18:59:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bc651cac8d671aee9be876b71d0fa86f94f56b0f'/>
<id>urn:sha1:bc651cac8d671aee9be876b71d0fa86f94f56b0f</id>
<content type='text'>
FusedIterator is a marker trait that promises that the implementing
iterator continues to return `None` from `.next()` once it has returned
`None` once (and/or `.next_back()`, if implemented).

The effects of FusedIterator are already widely available through
`.fuse()`, but with stable `FusedIterator`, stable Rust users can
implement this trait for their iterators when appropriate.
</content>
</entry>
<entry>
<title>[docs] Minor wording changes to drain_filter docs</title>
<updated>2018-02-22T20:05:30+00:00</updated>
<author>
<name>Matt Brubeck</name>
<email>mbrubeck@limpet.net</email>
</author>
<published>2018-02-22T20:05:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=311fbc9265ea1ebe803449c8d7e083f9edf605d9'/>
<id>urn:sha1:311fbc9265ea1ebe803449c8d7e083f9edf605d9</id>
<content type='text'>
The docs currently say, "If the closure returns false, it will try
again, and call the closure on the next element."  But this happens
regardless of whether the closure returns true or false.
</content>
</entry>
<entry>
<title>Auto merge of #47299 - cramertj:unsafe-placer, r=alexcrichton</title>
<updated>2018-01-24T07:22:22+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2018-01-24T07:22:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9758ff9c0bd812135304385a48135a93372c3ec2'/>
<id>urn:sha1:9758ff9c0bd812135304385a48135a93372c3ec2</id>
<content type='text'>
Make core::ops::Place an unsafe trait

Consumers of `Place` would reasonably expect that the `pointer` function returns a valid pointer to memory that can actually be written to.
</content>
</entry>
<entry>
<title>Rename Box::into_non_null_raw to Box::into_raw_non_null</title>
<updated>2018-01-20T10:09:23+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2017-12-27T21:56:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=12b3630f62e2412fa2f7d50b765cd6d711b74064'/>
<id>urn:sha1:12b3630f62e2412fa2f7d50b765cd6d711b74064</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename Box::*_nonnull_raw to *_non_null_raw</title>
<updated>2018-01-20T10:09:23+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2017-12-22T22:46:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1772fa2aa1262e5efae8172bbd9154a937269eb7'/>
<id>urn:sha1:1772fa2aa1262e5efae8172bbd9154a937269eb7</id>
<content type='text'>
</content>
</entry>
</feed>
