<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc_data_structures/array_vec.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-09-18T06:29:55+00:00</updated>
<entry>
<title>Remove `array_vec.rs`.</title>
<updated>2018-09-18T06:29:55+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>nnethercote@mozilla.com</email>
</author>
<published>2018-09-18T03:51:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=687cc292fd681be9739dc973acd5eaa5f73a5ce7'/>
<id>urn:sha1:687cc292fd681be9739dc973acd5eaa5f73a5ce7</id>
<content type='text'>
`SparseBitSet` is the only remaining user of `ArrayVec`. This commit
switches it to using `SmallVec`, and removes `array_vec.rs`.

Why the switch? Although `SparseBitSet` is size-limited and doesn't need
the ability to spill to the heap, `SmallVec` has many more features than
`ArrayVec`. In particular, it's now possible to keep `SparseBitSet`'s
elements in sorted order, which gives in-order iteration, which is a
requirement for the next commit.
</content>
</entry>
<entry>
<title>Replace usages of ptr::offset with ptr::{add,sub}.</title>
<updated>2018-08-20T11:28:34+00:00</updated>
<author>
<name>Corey Farwell</name>
<email>coreyf@rwell.org</email>
</author>
<published>2018-08-20T02:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=993fb934640b7e514f3c629c33a2698a83ed8c3e'/>
<id>urn:sha1:993fb934640b7e514f3c629c33a2698a83ed8c3e</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>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>Move RangeArguments to {core::std}::ops and rename to RangeBounds</title>
<updated>2018-03-29T11:12:49+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-03-19T08:26:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=16d3ba1b23195da2d53e058c58c2a41def914dec'/>
<id>urn:sha1:16d3ba1b23195da2d53e058c58c2a41def914dec</id>
<content type='text'>
These unstable items are deprecated:

* The `std::collections::range::RangeArgument` reexport
* The `std::collections::range` module.
</content>
</entry>
<entry>
<title>Move alloc::Bound to {core,std}::ops</title>
<updated>2018-03-29T11:12:49+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-03-19T08:01:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c3a63970dee2422e2fcc79d8b99303b4b046f444'/>
<id>urn:sha1:c3a63970dee2422e2fcc79d8b99303b4b046f444</id>
<content type='text'>
The stable reexport `std::collections::Bound` is now deprecated.

Another deprecated reexport could be added in `alloc`,
but that crate is unstable.
</content>
</entry>
<entry>
<title>Rename std::ptr::Shared to NonNull</title>
<updated>2018-01-20T09:55:16+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2017-12-22T17:58:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f19baf0977b176ba26277af479a19b71b7ee1fdb'/>
<id>urn:sha1:f19baf0977b176ba26277af479a19b71b7ee1fdb</id>
<content type='text'>
`Shared` is now a deprecated `type` alias.

CC https://github.com/rust-lang/rust/issues/27730#issuecomment-352800629
</content>
</entry>
<entry>
<title>Annotate raw pointer target types</title>
<updated>2017-12-23T08:47:13+00:00</updated>
<author>
<name>Christopher Durham</name>
<email>cad97@cad97.com</email>
</author>
<published>2017-12-23T08:47:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=056370167a832165fba16b6350b3ffac686d23bc'/>
<id>urn:sha1:056370167a832165fba16b6350b3ffac686d23bc</id>
<content type='text'>
cc https://github.com/rust-lang/rust/issues/46906
cc https://github.com/rust-lang/rust/pull/46914</content>
</entry>
<entry>
<title>fix errors in rustc_data_structures</title>
<updated>2017-12-22T23:16:19+00:00</updated>
<author>
<name>Michael Hewson</name>
<email>michael@michaelhewson.ca</email>
</author>
<published>2017-12-22T23:16:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1e2bd7021acc7d2243a164d75ac8d2fc05ed4513'/>
<id>urn:sha1:1e2bd7021acc7d2243a164d75ac8d2fc05ed4513</id>
<content type='text'>
</content>
</entry>
</feed>
