<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc/collections/btree/set.rs, branch 1.44.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.44.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.44.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-04-06T13:45:19+00:00</updated>
<entry>
<title>Remove the Ord bound that was plaguing drain_filter, and superfluous lifetimes</title>
<updated>2020-04-06T13:45:19+00:00</updated>
<author>
<name>Stein Somers</name>
<email>git@steinsomers.be</email>
</author>
<published>2020-04-06T13:18:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6ee7e8c978b1e354e210de6abe50d6d5bc1a77cb'/>
<id>urn:sha1:6ee7e8c978b1e354e210de6abe50d6d5bc1a77cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>BTreeMap/BTreeSet: implement and test drain_filter</title>
<updated>2020-03-29T14:05:53+00:00</updated>
<author>
<name>Stein Somers</name>
<email>git@steinsomers.be</email>
</author>
<published>2020-02-08T10:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0405db3a341a094f421a762a15c14b392fec94f8'/>
<id>urn:sha1:0405db3a341a094f421a762a15c14b392fec94f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #66648 - crgl:btree-clone-from, r=Amanieu</title>
<updated>2020-01-30T00:46:38+00:00</updated>
<author>
<name>Dylan DPC</name>
<email>dylan.dpc@gmail.com</email>
</author>
<published>2020-01-30T00:46:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=12c9562486224afb083cbe04d846c3f02cffe8c2'/>
<id>urn:sha1:12c9562486224afb083cbe04d846c3f02cffe8c2</id>
<content type='text'>
Implement clone_from for BTreeMap and BTreeSet

See #28481. This results in up to 90% speedups on simple data types when `self` and `other` are the same size, and is generally comparable or faster. Some concerns:

1. This implementation requires an `Ord` bound on the `Clone` implementation for `BTreeMap` and `BTreeSet`. Since these structs can only be created externally for keys with `Ord` implemented, this should be fine? If not, there's certainly a less safe way to do this.
2. Changing `next_unchecked` on `RangeMut` to return mutable key references allows for replacing the entire overlapping portion of both maps without changing the external interface in any way. However, if `clone_from` fails it can leave the `BTreeMap` in an invalid state, which might be unacceptable.

~This probably needs an FCP since it changes a trait bound, but (as far as I know?) that change cannot break any external code.~
</content>
</entry>
<entry>
<title>Remove redundant link texts</title>
<updated>2019-12-26T13:04:46+00:00</updated>
<author>
<name>Matthew Kraai</name>
<email>kraai@ftbfs.org</email>
</author>
<published>2019-12-26T13:04:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21e636f1883ff8d7dd1d3a0e2db241e619a8ee72'/>
<id>urn:sha1:21e636f1883ff8d7dd1d3a0e2db241e619a8ee72</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement clone_from for BTree collections</title>
<updated>2019-12-23T16:03:30+00:00</updated>
<author>
<name>Charles Gleason</name>
<email>charles_gleason@alumni.brown.edu</email>
</author>
<published>2019-11-22T19:22:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f547978392872684085c96a3d5c1d00bad24b724'/>
<id>urn:sha1:f547978392872684085c96a3d5c1d00bad24b724</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Format the world</title>
<updated>2019-12-22T22:42:47+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2019-12-22T22:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a06baa56b95674fc626b3c3fd680d6a65357fe60'/>
<id>urn:sha1:a06baa56b95674fc626b3c3fd680d6a65357fe60</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proposal for access to BTreeMap/BTreeSet first/last, #62924</title>
<updated>2019-10-23T21:21:09+00:00</updated>
<author>
<name>Stein Somers</name>
<email>git@steinsomers.be</email>
</author>
<published>2019-10-20T18:06:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ffeac1f71fe8d8206c9c83747cdd7816ad9aafc2'/>
<id>urn:sha1:ffeac1f71fe8d8206c9c83747cdd7816ad9aafc2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>BTreeSet symmetric_difference &amp; union optimized, cleaned</title>
<updated>2019-10-17T22:11:32+00:00</updated>
<author>
<name>Stein Somers</name>
<email>git@steinsomers.be</email>
</author>
<published>2019-10-08T23:07:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=56974329d1eab8dd990d53b6cd6978bbf6a615b7'/>
<id>urn:sha1:56974329d1eab8dd990d53b6cd6978bbf6a615b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>BTreeSet intersection, difference &amp; is_subnet optimizations</title>
<updated>2019-10-01T13:50:11+00:00</updated>
<author>
<name>Stein Somers</name>
<email>git@steinsomers.be</email>
</author>
<published>2019-09-22T15:45:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d132a70bf42a6ea9bb5da352dfe33f379e75c3f5'/>
<id>urn:sha1:d132a70bf42a6ea9bb5da352dfe33f379e75c3f5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve BTreeSet::Intersection::size_hint</title>
<updated>2019-09-16T04:37:52+00:00</updated>
<author>
<name>pcpthm</name>
<email>pcpthm@gmail.com</email>
</author>
<published>2019-09-16T04:37:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4333b869729bd00b8703721e206249b237a25e72'/>
<id>urn:sha1:4333b869729bd00b8703721e206249b237a25e72</id>
<content type='text'>
The commented invariant that an iterator is smaller than other iterator
was violated after next is called and two iterators are consumed at
different rates.
</content>
</entry>
</feed>
