<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc/string.rs, branch 1.36.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.36.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.36.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2019-05-28T19:55:26+00:00</updated>
<entry>
<title>Revert "Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators."</title>
<updated>2019-05-28T19:55:26+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@palantir.com</email>
</author>
<published>2019-05-22T21:09:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2f0c9ecbd8098f296845acfc6c8ef5b16150f2d6'/>
<id>urn:sha1:2f0c9ecbd8098f296845acfc6c8ef5b16150f2d6</id>
<content type='text'>
This reverts commit 3e86cf36b5114f201868bf459934fe346a76a2d4.
</content>
</entry>
<entry>
<title>Rollup merge of #59825 - jsgf:from-ref-string, r=sfackler</title>
<updated>2019-05-16T08:43:24+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-05-16T08:43:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f08c5bbc850a073cdb60a6bcf29a5052b830b317'/>
<id>urn:sha1:f08c5bbc850a073cdb60a6bcf29a5052b830b317</id>
<content type='text'>
string: implement From&lt;&amp;String&gt; for String

Allow Strings to be created from borrowed Strings. This is mostly
to make things like passing `&amp;String` to an `impl Into&lt;String&gt;`
parameter frictionless.

Fixes #59827.
</content>
</entry>
<entry>
<title>Rollup merge of #60130 - khuey:efficient_last, r=sfackler</title>
<updated>2019-05-14T20:00:09+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-05-14T20:00:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bab03cecfeadcbc79ee2aead61c4de973e5649a0'/>
<id>urn:sha1:bab03cecfeadcbc79ee2aead61c4de973e5649a0</id>
<content type='text'>
Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators

Provided a `DoubleEndedIterator` has finite length, `Iterator::last` is equivalent to `DoubleEndedIterator::next_back`. But searching forwards through the iterator when it's unnecessary is obviously not good for performance. I ran into this on one of the collection iterators.

I tried adding appropriate overloads for a bunch of the iterator adapters like filter, map, etc, but I ran into a lot of type inference failures after doing so.

The other interesting case is what to do with `Repeat`. Do we consider it part of the contract that `Iterator::last` will loop forever on it? The docs do say that the iterator will be evaluated until it returns None. This is also relevant for the adapters, it's trivially easy to observe whether a `Map` adapter invoked its closure a zillion times or just once for the last element.
</content>
</entry>
<entry>
<title>Add examples of ordered retain</title>
<updated>2019-05-11T01:01:50+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2019-05-11T01:01:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0545375ca6822b4b140cd853f368473d69b76227'/>
<id>urn:sha1:0545375ca6822b4b140cd853f368473d69b76227</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Document the order of {Vec,VecDeque,String}::retain</title>
<updated>2019-04-30T01:32:05+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2019-04-30T01:32:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9b3583375dbd45b19b8ce8822b89ff79529354d6'/>
<id>urn:sha1:9b3583375dbd45b19b8ce8822b89ff79529354d6</id>
<content type='text'>
It's natural for `retain` to work in order from beginning to end, but
this wasn't actually documented to be the case. If we actually promise
this, then the caller can do useful things like track the index of each
element being tested, as [discussed in the forum][1]. This is now
documented for `Vec`, `VecDeque`, and `String`.

[1]: https://users.rust-lang.org/t/vec-retain-by-index/27697

`HashMap` and `HashSet` also have `retain`, and the `hashbrown`
implementation does happen to use a plain `iter()` order too, but it's
not certain that this should always be the case for these types.
</content>
</entry>
<entry>
<title>Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators.</title>
<updated>2019-04-20T04:52:43+00:00</updated>
<author>
<name>Kyle Huey</name>
<email>khuey@kylehuey.com</email>
</author>
<published>2019-04-20T04:13:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3e86cf36b5114f201868bf459934fe346a76a2d4'/>
<id>urn:sha1:3e86cf36b5114f201868bf459934fe346a76a2d4</id>
<content type='text'>
r?Manishearth
</content>
</entry>
<entry>
<title>string: implement From&lt;&amp;String&gt; for String</title>
<updated>2019-04-09T23:52:05+00:00</updated>
<author>
<name>Jeremy Fitzhardinge</name>
<email>jsgf@fb.com</email>
</author>
<published>2019-04-09T20:40:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=08b0aca05e3709766fd7e0e01ec56a8511e4c46b'/>
<id>urn:sha1:08b0aca05e3709766fd7e0e01ec56a8511e4c46b</id>
<content type='text'>
Allow Strings to be created from borrowed Strings. This is mostly
to make things like passing &amp;String to an `impl Into&lt;String&gt;`
parameter frictionless.
</content>
</entry>
<entry>
<title>Use lifetime contravariance to elide more lifetimes in core+alloc+std</title>
<updated>2019-03-10T03:10:28+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2019-03-10T03:10:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=df4ea90b39c808e858e05f3b4bb05fc29f812d26'/>
<id>urn:sha1:df4ea90b39c808e858e05f3b4bb05fc29f812d26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a convert::Infallible empty enum, make string::ParseError an alias</title>
<updated>2019-02-13T17:00:18+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2019-02-08T13:54:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=85f13f0d42fe7ee0a5850a271e8a1c975ad5b85f'/>
<id>urn:sha1:85f13f0d42fe7ee0a5850a271e8a1c975ad5b85f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libs: doc comments</title>
<updated>2019-02-10T23:57:25+00:00</updated>
<author>
<name>Alexander Regueiro</name>
<email>alexreg@me.com</email>
</author>
<published>2019-02-09T22:16:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=99ed06eb8864e704c4a1871ccda4648273bee4ef'/>
<id>urn:sha1:99ed06eb8864e704c4a1871ccda4648273bee4ef</id>
<content type='text'>
</content>
</entry>
</feed>
