<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/parse, branch 1.29.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.29.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.29.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2018-07-29T21:37:47+00:00</updated>
<entry>
<title>Auto merge of #52738 - ljedrz:push_to_extend, r=eddyb</title>
<updated>2018-07-29T21:37:47+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2018-07-29T21:37:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=866a713258915e6cbb212d135f751a6a8c9e1c0a'/>
<id>urn:sha1:866a713258915e6cbb212d135f751a6a8c9e1c0a</id>
<content type='text'>
Replace push loops with extend() where possible

Or set the vector capacity where I couldn't do it.

According to my [simple benchmark](https://gist.github.com/ljedrz/568e97621b749849684c1da71c27dceb) `extend`ing a vector can be over **10 times** faster than `push`ing to it in a loop:

10 elements (6.1 times faster):
```
test bench_extension ... bench:          75 ns/iter (+/- 23)
test bench_push_loop ... bench:         458 ns/iter (+/- 142)
```

100 elements (11.12 times faster):
```
test bench_extension ... bench:          87 ns/iter (+/- 26)
test bench_push_loop ... bench:         968 ns/iter (+/- 3,528)
```

1000 elements (11.04 times faster):
```
test bench_extension ... bench:         311 ns/iter (+/- 9)
test bench_push_loop ... bench:       3,436 ns/iter (+/- 233)
```

Seems like a good idea to use `extend` as much as possible.
</content>
</entry>
<entry>
<title>Replace push loops with collect() and extend() where possible</title>
<updated>2018-07-29T16:53:22+00:00</updated>
<author>
<name>ljedrz</name>
<email>ljedrz@gmail.com</email>
</author>
<published>2018-07-26T15:11:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=59c8a279daf6912b99ba089ff6dafbfc3469831e'/>
<id>urn:sha1:59c8a279daf6912b99ba089ff6dafbfc3469831e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #52767 - ljedrz:avoid_format, r=petrochenkov</title>
<updated>2018-07-29T09:33:37+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2018-07-29T09:33:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=023fd7e74a9eb5bafcb75fcbe69b7110e9de4492'/>
<id>urn:sha1:023fd7e74a9eb5bafcb75fcbe69b7110e9de4492</id>
<content type='text'>
Prefer to_string() to format!()

Simple benchmarks suggest in some cases it can be faster by even 37%:
```
test converting_f64_long  ... bench:         339 ns/iter (+/- 199)
test converting_f64_short ... bench:         136 ns/iter (+/- 34)
test converting_i32_long  ... bench:          87 ns/iter (+/- 16)
test converting_i32_short ... bench:          87 ns/iter (+/- 49)
test converting_str       ... bench:          54 ns/iter (+/- 15)
test formatting_f64_long  ... bench:         349 ns/iter (+/- 176)
test formatting_f64_short ... bench:         145 ns/iter (+/- 14)
test formatting_i32_long  ... bench:          98 ns/iter (+/- 14)
test formatting_i32_short ... bench:          93 ns/iter (+/- 15)
test formatting_str       ... bench:          86 ns/iter (+/- 23)
```
</content>
</entry>
<entry>
<title>Rollup merge of #52740 - estebank:crate-name, r=petrochenkov</title>
<updated>2018-07-28T08:24:58+00:00</updated>
<author>
<name>kennytm</name>
<email>kennytm@gmail.com</email>
</author>
<published>2018-07-28T08:24:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b584c3227d311f591d05ad442c08811884e99f1b'/>
<id>urn:sha1:b584c3227d311f591d05ad442c08811884e99f1b</id>
<content type='text'>
Suggest underscore when using dashes in crate namet push fork

Fix #48437.
</content>
</entry>
<entry>
<title>review comments</title>
<updated>2018-07-27T20:33:38+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2018-07-27T20:11:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=647d295fb2fbd3e46a517332d5023dc51ae6e317'/>
<id>urn:sha1:647d295fb2fbd3e46a517332d5023dc51ae6e317</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prefer to_string() to format!()</title>
<updated>2018-07-27T09:11:18+00:00</updated>
<author>
<name>ljedrz</name>
<email>ljedrz@gmail.com</email>
</author>
<published>2018-07-27T09:11:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=57a5a9b05423c4f832cd9a3aaa7e06d55fab6efa'/>
<id>urn:sha1:57a5a9b05423c4f832cd9a3aaa7e06d55fab6efa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Suggest underscore when using dashes in crate namet push fork</title>
<updated>2018-07-26T20:12:42+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2018-07-26T05:18:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3bf27b1db29887b49614934105a105d1b8d09fc'/>
<id>urn:sha1:a3bf27b1db29887b49614934105a105d1b8d09fc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #52645 - oli-obk:existential_in_fn_body, r=dtolnay</title>
<updated>2018-07-24T22:43:46+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2018-07-24T22:43:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f930017e109fe3ae786d800b9d7aa9041d3f74ce'/>
<id>urn:sha1:f930017e109fe3ae786d800b9d7aa9041d3f74ce</id>
<content type='text'>
Allow declaring existential types inside blocks

fixes #52631

r? @dtolnay
</content>
</entry>
<entry>
<title>Auto merge of #51587 - mark-i-m:at_most_once_rep_2018, r=alexcrichton</title>
<updated>2018-07-24T15:11:56+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2018-07-24T15:11:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f498e4ec1b57c3245a2fb8e0d5d836ed56760d2d'/>
<id>urn:sha1:f498e4ec1b57c3245a2fb8e0d5d836ed56760d2d</id>
<content type='text'>
2018 edition `?` Kleene operator

This is my first attempt at implementing the migration lint + 2018 behavior as discussed in #48075

r? @nikomatsakis
</content>
</entry>
<entry>
<title>Allow declaring existential types inside blocks</title>
<updated>2018-07-24T08:07:45+00:00</updated>
<author>
<name>Oliver Schneider</name>
<email>github35764891676564198441@oli-obk.de</email>
</author>
<published>2018-07-23T12:56:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2e33a557de4cddfebd9fa3f6b64d6ed603482e75'/>
<id>urn:sha1:2e33a557de4cddfebd9fa3f6b64d6ed603482e75</id>
<content type='text'>
</content>
</entry>
</feed>
