<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libcore/tests/lib.rs, branch 1.22.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.22.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.22.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2017-09-29T20:09:35+00:00</updated>
<entry>
<title>Auto merge of #42526 - huntiep:try_opt, r=nikomatsakis</title>
<updated>2017-09-29T20:09:35+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-09-29T20:09:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6f87d20a7cce70b8cc59a1adf3037d14bc83f237'/>
<id>urn:sha1:6f87d20a7cce70b8cc59a1adf3037d14bc83f237</id>
<content type='text'>
Impl Try for Option

This is part of #31436.
</content>
</entry>
<entry>
<title>Add tests for Option and Result Try impl</title>
<updated>2017-09-27T21:56:40+00:00</updated>
<author>
<name>Hunter Praska</name>
<email>hunter@wiggin-labs.com</email>
</author>
<published>2017-06-08T03:52:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f098d7be2978d8df3d180b6afae435468fc050de'/>
<id>urn:sha1:f098d7be2978d8df3d180b6afae435468fc050de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add more custom folding to `core::iter` adaptors</title>
<updated>2017-09-26T03:53:08+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2017-09-26T03:53:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=13724fafdc62e3e7e75822554cadb15ff5ce3035'/>
<id>urn:sha1:13724fafdc62e3e7e75822554cadb15ff5ce3035</id>
<content type='text'>
Many of the iterator adaptors will perform faster folds if they forward
to their inner iterator's folds, especially for inner types like `Chain`
which are optimized too.  The following types are newly specialized:

| Type        | `fold` | `rfold` |
| ----------- | ------ | ------- |
| `Enumerate` | ✓      | ✓       |
| `Filter`    | ✓      | ✓       |
| `FilterMap` | ✓      | ✓       |
| `FlatMap`   | exists | ✓       |
| `Fuse`      | ✓      | ✓       |
| `Inspect`   | ✓      | ✓       |
| `Peekable`  | ✓      | N/A¹    |
| `Skip`      | ✓      | N/A²    |
| `SkipWhile` | ✓      | N/A¹    |

¹ not a `DoubleEndedIterator`

² `Skip::next_back` doesn't pull skipped items at all, but this couldn't
be avoided if `Skip::rfold` were to call its inner iterator's `rfold`.

Benchmarks
----------

In the following results, plain `_sum` computes the sum of a million
integers -- note that `sum()` is implemented with `fold()`.  The
`_ref_sum` variants do the same on a `by_ref()` iterator, which is
limited to calling `next()` one by one, without specialized `fold`.

The `chain` variants perform the same tests on two iterators chained
together, to show a greater benefit of forwarding `fold` internally.

    test iter::bench_enumerate_chain_ref_sum  ... bench:   2,216,264 ns/iter (+/- 29,228)
    test iter::bench_enumerate_chain_sum      ... bench:     922,380 ns/iter (+/- 2,676)
    test iter::bench_enumerate_ref_sum        ... bench:     476,094 ns/iter (+/- 7,110)
    test iter::bench_enumerate_sum            ... bench:     476,438 ns/iter (+/- 3,334)

    test iter::bench_filter_chain_ref_sum     ... bench:   2,266,095 ns/iter (+/- 6,051)
    test iter::bench_filter_chain_sum         ... bench:     745,594 ns/iter (+/- 2,013)
    test iter::bench_filter_ref_sum           ... bench:     889,696 ns/iter (+/- 1,188)
    test iter::bench_filter_sum               ... bench:     667,325 ns/iter (+/- 1,894)

    test iter::bench_filter_map_chain_ref_sum ... bench:   2,259,195 ns/iter (+/- 353,440)
    test iter::bench_filter_map_chain_sum     ... bench:   1,223,280 ns/iter (+/- 1,972)
    test iter::bench_filter_map_ref_sum       ... bench:     611,607 ns/iter (+/- 2,507)
    test iter::bench_filter_map_sum           ... bench:     611,610 ns/iter (+/- 472)

    test iter::bench_fuse_chain_ref_sum       ... bench:   2,246,106 ns/iter (+/- 22,395)
    test iter::bench_fuse_chain_sum           ... bench:     634,887 ns/iter (+/- 1,341)
    test iter::bench_fuse_ref_sum             ... bench:     444,816 ns/iter (+/- 1,748)
    test iter::bench_fuse_sum                 ... bench:     316,954 ns/iter (+/- 2,616)

    test iter::bench_inspect_chain_ref_sum    ... bench:   2,245,431 ns/iter (+/- 21,371)
    test iter::bench_inspect_chain_sum        ... bench:     631,645 ns/iter (+/- 4,928)
    test iter::bench_inspect_ref_sum          ... bench:     317,437 ns/iter (+/- 702)
    test iter::bench_inspect_sum              ... bench:     315,942 ns/iter (+/- 4,320)

    test iter::bench_peekable_chain_ref_sum   ... bench:   2,243,585 ns/iter (+/- 12,186)
    test iter::bench_peekable_chain_sum       ... bench:     634,848 ns/iter (+/- 1,712)
    test iter::bench_peekable_ref_sum         ... bench:     444,808 ns/iter (+/- 480)
    test iter::bench_peekable_sum             ... bench:     317,133 ns/iter (+/- 3,309)

    test iter::bench_skip_chain_ref_sum       ... bench:   1,778,734 ns/iter (+/- 2,198)
    test iter::bench_skip_chain_sum           ... bench:     761,850 ns/iter (+/- 1,645)
    test iter::bench_skip_ref_sum             ... bench:     478,207 ns/iter (+/- 119,252)
    test iter::bench_skip_sum                 ... bench:     315,614 ns/iter (+/- 3,054)

    test iter::bench_skip_while_chain_ref_sum ... bench:   2,486,370 ns/iter (+/- 4,845)
    test iter::bench_skip_while_chain_sum     ... bench:     633,915 ns/iter (+/- 5,892)
    test iter::bench_skip_while_ref_sum       ... bench:     666,926 ns/iter (+/- 804)
    test iter::bench_skip_while_sum           ... bench:     444,405 ns/iter (+/- 571)
</content>
</entry>
<entry>
<title>Rollup merge of #44593 - budziq:stabilize_ord_max_min, r=alexcrichton</title>
<updated>2017-09-17T00:09:40+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2017-09-16T14:16:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3cc135afa3b470a058c9ae95bd543faf625d0480'/>
<id>urn:sha1:3cc135afa3b470a058c9ae95bd543faf625d0480</id>
<content type='text'>
stabilized ord_max_min (fixes #25663)
</content>
</entry>
<entry>
<title>change #![feature(const_fn)] to specific gates</title>
<updated>2017-09-16T15:53:02+00:00</updated>
<author>
<name>Alex Burka</name>
<email>alex@alexburka.com</email>
</author>
<published>2017-09-08T18:26:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=681e5da61ee3f1251c00c2ec0d93dd23dbf861bc'/>
<id>urn:sha1:681e5da61ee3f1251c00c2ec0d93dd23dbf861bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stabilized ord_max_min (fixes #25663)</title>
<updated>2017-09-15T10:54:03+00:00</updated>
<author>
<name>Michal Budzynski</name>
<email>budziq@gmail.com</email>
</author>
<published>2017-09-15T10:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5398e03704a54e62f06b1f1498d89041c9cc4e25'/>
<id>urn:sha1:5398e03704a54e62f06b1f1498d89041c9cc4e25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move unused-extern-crate to late pass</title>
<updated>2017-08-27T10:02:24+00:00</updated>
<author>
<name>Tatsuyuki Ishi</name>
<email>ishitatsuyuki@gmail.com</email>
</author>
<published>2017-06-24T08:48:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=611b1111394a065783091b17b025c34427af3d68'/>
<id>urn:sha1:611b1111394a065783091b17b025c34427af3d68</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement `RefCell::replace` and `RefCell::swap`</title>
<updated>2017-07-31T21:19:09+00:00</updated>
<author>
<name>Michael Howell</name>
<email>michael@notriddle.com</email>
</author>
<published>2017-07-31T17:14:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=03acea646c025846e9421e33d77a5b19782762db'/>
<id>urn:sha1:03acea646c025846e9421e33d77a5b19782762db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Stabilize `char_escape_debug`</title>
<updated>2017-07-25T14:09:31+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2017-07-20T22:38:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4c9c6e824b20cc31b2e6f5ec44ef03aac465f001'/>
<id>urn:sha1:4c9c6e824b20cc31b2e6f5ec44ef03aac465f001</id>
<content type='text'>
Stabilizes:

* `&lt;char&gt;::escape_debug`
* `std::char::EscapeDebug`

Closes #35068
</content>
</entry>
<entry>
<title>Add tests for Range*::nth</title>
<updated>2017-07-08T06:55:55+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2017-07-06T15:13:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a40307a7ca44d8ff4035c59022647cddc5b6699'/>
<id>urn:sha1:7a40307a7ca44d8ff4035c59022647cddc5b6699</id>
<content type='text'>
</content>
</entry>
</feed>
