Mark Simulacrum
7812adf1ee
Rollup merge of #42089 - nagisa:xpy-broke-on-py3-again⁈, r=alexcrichton
...
Fix x.py
Fixes https://github.com/rust-lang/rust/issues/42085
2017-05-19 14:16:24 -06:00
Mark Simulacrum
3fb27a0a9e
Rollup merge of #42082 - michaelwoerister:wider_def_path_hashes, r=eddyb
...
incr. comp.: Use more bits for DefPath hashes
Use 128 instead of 64 bits for DefPath hashes, like we do for everything else. Collision probability is unnecessarily high with 64 bits.
Also change the representation of `ich::Fingerprint` from `Fingerprint([u8; 16])` to `Fingerprint(u64, u64)` which is better for hashers like `FxHasher`.
2017-05-19 14:16:23 -06:00
Mark Simulacrum
f3b7b61151
Rollup merge of #42080 - pravic:jquery-removal-fix, r=frewsxcv
...
Fix regression introduced by jQuery removal
Fixes #42078 .
Follows #41307 .
r? @steveklabnik
cc @frewsxcv
2017-05-19 14:16:22 -06:00
Mark Simulacrum
4c2273a081
Rollup merge of #42079 - seeekr:patch-1, r=steveklabnik
...
fix typo in libstd/sync/mpsc/mod.rs docs
2017-05-19 14:16:21 -06:00
Mark Simulacrum
6a2bf05cbc
Rollup merge of #42070 - tshepang:env-misc, r=BurntSushi
...
misc doc improvements for std::env
2017-05-19 14:16:20 -06:00
Mark Simulacrum
abd1a000ee
Rollup merge of #42067 - Keruspe:master, r=alexcrichton
...
rustbuild: install improvements
Install rust-analysis and rust-src to get in par with what we can get from rustup.
Allow bypassing the vendoring of dependencies. When we only build to install and not to redistribute dist tarballs, that part is not necessary, so avoid trying to install cargo-vendor.
2017-05-19 14:16:19 -06:00
Mark Simulacrum
0011828334
Rollup merge of #42056 - sylvestre:master, r=alexcrichton
...
Improve the error management when /proc is not mounted
This PR does two things:
* Triggers an error on GNU/Linux & Android when /proc/self/exe doesn't exist
* Handle the error properly
2017-05-19 14:16:18 -06:00
Mark Simulacrum
db01c945fc
Rollup merge of #42037 - nagisa:charpat, r=sfackler
...
Minor optimisation of the string operations
The interesting benchmarks are
<table cellspacing="0" border="0">
<tr>
<th height="17" align="right"><b> (<100% → better than original )</b></th>
<th align="left" sdnum="2057;0;0.00%">Delta</th>
<th align="left">Original ns/i</th>
<th align="left">This Patch ns/i</th>
</tr>
<tr>
<td height="17" align="left">str::contains_bang_char::long_lorem_ipsum</td>
<td align="right" sdval="0.249775381850854" sdnum="2057;0;0.00%">24.98%</td>
<td align="right" sdval="5565" sdnum="2057;">5565</td>
<td align="right" sdval="1390" sdnum="2057;">1390</td>
</tr>
<tr>
<td height="17" align="left">str::contains_bang_char::short_ascii</td>
<td align="right" sdval="0.277777777777778" sdnum="2057;0;0.00%">27.78%</td>
<td align="right" sdval="144" sdnum="2057;">144</td>
<td align="right" sdval="40" sdnum="2057;">40</td>
</tr>
<tr>
<td height="17" align="left">str::contains_bang_char::short_mixed</td>
<td align="right" sdval="0.333333333333333" sdnum="2057;0;0.00%">33.33%</td>
<td align="right" sdval="120" sdnum="2057;">120</td>
<td align="right" sdval="40" sdnum="2057;">40</td>
</tr>
<tr>
<td height="17" align="left">str::contains_bang_char::short_pile_of_poo</td>
<td align="right" sdval="0.594202898550725" sdnum="2057;0;0.00%">59.42%</td>
<td align="right" sdval="69" sdnum="2057;">69</td>
<td align="right" sdval="41" sdnum="2057;">41</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_ascii_char::long_lorem_ipsum</td>
<td align="right" sdval="0.452629649990837" sdnum="2057;0;0.00%">45.26%</td>
<td align="right" sdval="5457" sdnum="2057;">5457</td>
<td align="right" sdval="2470" sdnum="2057;">2470</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_ascii_char::short_ascii</td>
<td align="right" sdval="0.450054684651841" sdnum="2057;0;0.00%">45.01%</td>
<td align="right" sdval="5486" sdnum="2057;">5486</td>
<td align="right" sdval="2469" sdnum="2057;">2469</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_ascii_char::short_mixed</td>
<td align="right" sdval="0.463132795304475" sdnum="2057;0;0.00%">46.31%</td>
<td align="right" sdval="5452" sdnum="2057;">5452</td>
<td align="right" sdval="2525" sdnum="2057;">2525</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_ascii_char::short_pile_of_poo</td>
<td align="right" sdval="0.453426419254088" sdnum="2057;0;0.00%">45.34%</td>
<td align="right" sdval="5443" sdnum="2057;">5443</td>
<td align="right" sdval="2468" sdnum="2057;">2468</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_unichar::long_lorem_ipsum</td>
<td align="right" sdval="0.459385290889133" sdnum="2057;0;0.00%">45.94%</td>
<td align="right" sdval="5466" sdnum="2057;">5466</td>
<td align="right" sdval="2511" sdnum="2057;">2511</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_unichar::short_ascii</td>
<td align="right" sdval="0.460593841642229" sdnum="2057;0;0.00%">46.06%</td>
<td align="right" sdval="5456" sdnum="2057;">5456</td>
<td align="right" sdval="2513" sdnum="2057;">2513</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_unichar::short_mixed</td>
<td align="right" sdval="0.454976303317536" sdnum="2057;0;0.00%">45.50%</td>
<td align="right" sdval="5486" sdnum="2057;">5486</td>
<td align="right" sdval="2496" sdnum="2057;">2496</td>
</tr>
<tr>
<td height="17" align="left">str::ends_with_unichar::short_pile_of_poo</td>
<td align="right" sdval="0.456497797356828" sdnum="2057;0;0.00%">45.65%</td>
<td align="right" sdval="5448" sdnum="2057;">5448</td>
<td align="right" sdval="2487" sdnum="2057;">2487</td>
</tr>
<tr>
<td height="17" align="left">str::find_underscore_char::long_lorem_ipsum</td>
<td align="right" sdval="0.622058559367703" sdnum="2057;0;0.00%">62.21%</td>
<td align="right" sdval="5567" sdnum="2057;">5567</td>
<td align="right" sdval="3463" sdnum="2057;">3463</td>
</tr>
<tr>
<td height="17" align="left">str::find_underscore_char::short_ascii</td>
<td align="right" sdval="0.664383561643836" sdnum="2057;0;0.00%">66.44%</td>
<td align="right" sdval="146" sdnum="2057;">146</td>
<td align="right" sdval="97" sdnum="2057;">97</td>
</tr>
<tr>
<td height="17" align="left">str::find_underscore_char::short_mixed</td>
<td align="right" sdval="0.762295081967213" sdnum="2057;0;0.00%">76.23%</td>
<td align="right" sdval="122" sdnum="2057;">122</td>
<td align="right" sdval="93" sdnum="2057;">93</td>
</tr>
<tr>
<td height="17" align="left">str::find_underscore_str::short_pile_of_poo</td>
<td align="right" sdval="0.476190476190476" sdnum="2057;0;0.00%">47.62%</td>
<td align="right" sdval="252" sdnum="2057;">252</td>
<td align="right" sdval="120" sdnum="2057;">120</td>
</tr>
<tr>
<td height="17" align="left">str::find_zzz_char::long_lorem_ipsum</td>
<td align="right" sdval="0.621655593463818" sdnum="2057;0;0.00%">62.17%</td>
<td align="right" sdval="5569" sdnum="2057;">5569</td>
<td align="right" sdval="3462" sdnum="2057;">3462</td>
</tr>
<tr>
<td height="17" align="left">str::find_zzz_char::short_ascii</td>
<td align="right" sdval="0.666666666666667" sdnum="2057;0;0.00%">66.67%</td>
<td align="right" sdval="147" sdnum="2057;">147</td>
<td align="right" sdval="98" sdnum="2057;">98</td>
</tr>
<tr>
<td height="17" align="left">str::find_zzz_char::short_mixed</td>
<td align="right" sdval="0.754098360655738" sdnum="2057;0;0.00%">75.41%</td>
<td align="right" sdval="122" sdnum="2057;">122</td>
<td align="right" sdval="92" sdnum="2057;">92</td>
</tr>
<tr>
<td height="17" align="left">str::find_zzz_str::long_lorem_ipsum</td>
<td align="right" sdval="0.728648648648649" sdnum="2057;0;0.00%">72.86%</td>
<td align="right" sdval="925" sdnum="2057;">925</td>
<td align="right" sdval="674" sdnum="2057;">674</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_underscore_char::long_lorem_ipsum</td>
<td align="right" sdval="0.3418911335578" sdnum="2057;0;0.00%">34.19%</td>
<td align="right" sdval="7128" sdnum="2057;">7128</td>
<td align="right" sdval="2437" sdnum="2057;">2437</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_underscore_char::short_ascii</td>
<td align="right" sdval="0.373056994818653" sdnum="2057;0;0.00%">37.31%</td>
<td align="right" sdval="193" sdnum="2057;">193</td>
<td align="right" sdval="72" sdnum="2057;">72</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_underscore_char::short_mixed</td>
<td align="right" sdval="0.414201183431953" sdnum="2057;0;0.00%">41.42%</td>
<td align="right" sdval="169" sdnum="2057;">169</td>
<td align="right" sdval="70" sdnum="2057;">70</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_underscore_char::short_pile_of_poo</td>
<td align="right" sdval="0.505050505050505" sdnum="2057;0;0.00%">50.51%</td>
<td align="right" sdval="99" sdnum="2057;">99</td>
<td align="right" sdval="50" sdnum="2057;">50</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_zzz_char::long_lorem_ipsum</td>
<td align="right" sdval="0.341983447888904" sdnum="2057;0;0.00%">34.20%</td>
<td align="right" sdval="7129" sdnum="2057;">7129</td>
<td align="right" sdval="2438" sdnum="2057;">2438</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_zzz_char::short_ascii</td>
<td align="right" sdval="0.371134020618557" sdnum="2057;0;0.00%">37.11%</td>
<td align="right" sdval="194" sdnum="2057;">194</td>
<td align="right" sdval="72" sdnum="2057;">72</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_zzz_char::short_mixed</td>
<td align="right" sdval="0.409356725146199" sdnum="2057;0;0.00%">40.94%</td>
<td align="right" sdval="171" sdnum="2057;">171</td>
<td align="right" sdval="70" sdnum="2057;">70</td>
</tr>
<tr>
<td height="17" align="left">str::rfind_zzz_char::short_pile_of_poo</td>
<td align="right" sdval="0.548076923076923" sdnum="2057;0;0.00%">54.81%</td>
<td align="right" sdval="104" sdnum="2057;">104</td>
<td align="right" sdval="57" sdnum="2057;">57</td>
</tr>
<tr>
<td height="17" align="left">str::trim_right_ascii_char::short_mixed</td>
<td align="right" sdval="1.10416666666667" sdnum="2057;0;0.00%">110.42%</td>
<td align="right" sdval="48" sdnum="2057;">48</td>
<td align="right" sdval="53" sdnum="2057;">53</td>
</tr>
<tr>
<td height="17" align="left">string::bench_from</td>
<td align="right" sdval="1.17241379310345" sdnum="2057;0;0.00%">117.24%</td>
<td align="right" sdval="58" sdnum="2057;">58</td>
<td align="right" sdval="68" sdnum="2057;">68</td>
</tr>
<tr>
<td height="17" align="left">string::bench_from_str</td>
<td align="right" sdval="1.17241379310345" sdnum="2057;0;0.00%">117.24%</td>
<td align="right" sdval="58" sdnum="2057;">58</td>
<td align="right" sdval="68" sdnum="2057;">68</td>
</tr>
<tr>
<td height="17" align="left">string::bench_push_str</td>
<td align="right" sdval="1.11111111111111" sdnum="2057;0;0.00%">111.11%</td>
<td align="right" sdval="54" sdnum="2057;">54</td>
<td align="right" sdval="60" sdnum="2057;">60</td>
</tr>
<tr>
<td height="17" align="left">string::bench_to_string</td>
<td align="right" sdval="1.12068965517241" sdnum="2057;0;0.00%">112.07%</td>
<td align="right" sdval="58" sdnum="2057;">58</td>
<td align="right" sdval="65" sdnum="2057;">65</td>
</tr>
<tr>
<td height="17" align="left">string::from_utf8_lossy_100_invalid</td>
<td align="right" sdval="1.1131458469588" sdnum="2057;0;0.00%">111.31%</td>
<td align="right" sdval="1529" sdnum="2057;">1529</td>
<td align="right" sdval="1702" sdnum="2057;">1702</td>
</tr>
</table>
2017-05-19 14:16:17 -06:00
Mark Simulacrum
862e7d4af8
Rollup merge of #42024 - citizen428:docs/update-exitstatus, r=steveklabnik
...
Add documentation for `ExitStatus`
As requested in #29370 . r? @steveklabnik
2017-05-19 14:16:16 -06:00
Mark Simulacrum
8b93680d28
Rollup merge of #42006 - jseyfried:fix_include_regression, r=nrc
...
Fix ICE on `include!(line!())` (regression)
Fixes #41776 .
r? @nrc
2017-05-19 14:16:15 -06:00
Mark Simulacrum
8292136fb0
Rollup merge of #41971 - japaric:pre-link-args, r=alexcrichton
...
add -Z pre-link-arg{,s} to rustc
This PR adds two unstable flags to `rustc`: `-Z pre-link-arg` and `-Z
pre-link-args`. These are the counterpart of the existing `-C link-arg{,s}`
flags and can be used to pass extra arguments at the *beginning* of the linker
invocation, before the Rust object files are passed.
I have [started] a discussion on the rust-embedded RFCs repo about settling on a
convention for passing extra arguments to the linker and there are two options
on discussion: `.cargo/config`'s `target.$T.rustflags` and custom target
specification files (`{pre,,post}-link-args` fields). However, to compare these
two options on equal footing this `-Z pre-link-arg` feature is required.
[started]: https://github.com/rust-embedded/rfcs/pull/24
Therefore I'm requesting landing this `-Z pre-link-arg` flag as an experimental
feature to evaluate these two options.
cc @brson
r? @alexcrichton
2017-05-19 14:16:14 -06:00
Mark Simulacrum
04b07798fc
Rollup merge of #41958 - malbarbo:docker-share, r=alexcrichton
...
ci: allows files to be shared by docker images
Change `src/ci/docker/run.sh` to allow files to be shared when building docker containers. For while, only android related shell scripts are shared. Others containers can be updated at any time.
sccache is installed last, as it is frequently updated this avoids the need to rebuilt the whole container.
2017-05-19 14:16:14 -06:00
Mark Simulacrum
d8d2db264b
Rollup merge of #41910 - mersinvald:master, r=Mark-Simulacrum
...
Number of filtered out tests in tests summary
Closes #31905
2017-05-19 14:16:13 -06:00
Mark Simulacrum
d7a5390a67
Rollup merge of #41870 - excaliburHisSheath:iss29367-windows-docs, r=frewsxcv
...
Improve docs in os::windows::ffi and os::windows::fs
Part of #29367
This PR makes changes to the documentation in `os::windows::ffi` and `os::windows::fs` with the goal of fleshing them out and bringing them in line with Rust's quality standards.
r? @steveklabnik
2017-05-19 14:16:12 -06:00
David LeGare
a89292514b
Fix doc test failure for OpenOptionsExt
2017-05-19 07:29:52 -05:00
Simonas Kazlauskas
41debc365e
Try to optimise char patterns
2017-05-19 10:14:13 +03:00
David LeGare
4cd838b274
Normalize docs in windows::ffi and windows::fs
...
- Remove `()` parens when referencing functions in docs.
- Change some examples to be no_run instead of ignore.
- Normalize style in examples for `OpenOptionsExt`.
- Fix typo in windows mod docs.
2017-05-18 21:10:15 -05:00
bors
b21577e1e8
Auto merge of #42086 - alexcrichton:update-cargo, r=Mark-Simulacrum
...
Update the Cargo submodules
More info [here](https://github.com/rust-lang/rust/pull/42070#issuecomment-302469046 ) as to what's going on.
2017-05-18 23:06:11 +00:00
Marco A L Barbosa
9b184c0c17
ci: fix dist-powerpc-linux image
2017-05-18 17:11:46 -03:00
Simonas Kazlauskas
c5163aadc5
Fix x.py
2017-05-18 21:22:15 +03:00
Marc-Antoine Perennou
801e2b7bdf
rustbuild: refactor install
...
Introduce a new Installer object that hold a reference to all the
configured paths for installation
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-18 18:59:06 +02:00
Marc-Antoine Perennou
ecfdc9ac1b
rustbuild: install rust-analysis and rust-src when extended build is enabled
...
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-05-18 18:58:58 +02:00
Alex Crichton
cd6cbd7a95
Update the Cargo submodules
2017-05-18 09:52:07 -07:00
Marco A L Barbosa
502eadbf8f
ci: add filesystem layout docs
2017-05-18 09:21:11 -03:00
Marco A L Barbosa
d15c950ac6
ci: move shared scripts to src/ci/docker/scripts/
2017-05-18 08:33:10 -03:00
Michael Kohl
b2fc7b1cbe
Add documentation for ExitStatus
...
As requested in #29370 .
2017-05-18 16:58:40 +07:00
bors
0ed1ec9f9e
Auto merge of #42055 - michaelwoerister:reenable-incremental-cc, r=nikomatsakis
...
Enable cross-crate incremental compilation by default.
Now that direct metadata hashing has been implemented for a while and we haven't seen any problems with it over at [rust-icci](https://travis-ci.org/rust-icci/ ), let's re-enable cross crate support for incremental compilation again.
r? @nikomatsakis
2017-05-18 09:32:28 +00:00
Michael Woerister
4549423f28
Use 128 instead of 64 bits for DefPath hashes
2017-05-18 11:10:11 +02:00
Michael Woerister
474cc91440
Use in-memory representation for Fingerprint that is more amenable to hashing.
2017-05-18 10:57:37 +02:00
Michael Woerister
1b8df3d7fb
Enable cross-crate incremental compilation by default.
2017-05-18 10:12:13 +02:00
pravic
1eb6639508
Make documentation works again by removing two unnecessary ES6 pieces.
2017-05-18 10:35:18 +03:00
Denis Andrejew
f4e33a011e
fix typo in libstd/sync/mpsc/mod.rs docs
2017-05-18 08:45:18 +02:00
Tshepang Lekhonkhobe
b9552963d1
misc doc improvements for std::env
2017-05-18 06:47:58 +02:00
bors
6af8c6c7d1
Auto merge of #42073 - mersinvald:update-cargo-submodule, r=Mark-Simulacrum
...
Cargo submodule update
Required for https://github.com/rust-lang/rust/pull/41910
r? @Mark-Simulacrum
2017-05-18 03:11:07 +00:00
bors
31bfa964b8
Auto merge of #41639 - ishitatsuyuki:unify-tools, r=alexcrichton
...
Unify tools building
Close #41601
Time saving for up to 10 minutes. Cargo is now only compiled once.
Downsides:
- Out of tree Cargo.lock maintenance
- Cargo.toml `[replace]` version maintenance
2017-05-18 00:36:03 +00:00
Mike Lubinets
3fa04a9a93
Cargo submodule update
2017-05-18 01:55:15 +03:00
bors
4640e18572
Auto merge of #41911 - michaelwoerister:querify_trait_def, r=nikomatsakis
...
Remove interior mutability from TraitDef by turning fields into queries
This PR gets rid of anything `std::cell` in `TraitDef` by
- moving the global list of trait impls from `TraitDef` into a query,
- moving the list of trait impls relevent for some self-type from `TraitDef` into a query
- moving the specialization graph of trait impls into a query, and
- moving `TraitDef::object_safety` into a query.
I really like how querifying things not only helps with incremental compilation and on-demand, but also just plain makes the code cleaner `:)`
There are also some smaller fixes in the PR. Commits can be reviewed separately.
r? @eddyb or @nikomatsakis
2017-05-17 21:44:08 +00:00
Marco A L Barbosa
307d8e5aa5
ci: allows shared scripts
2017-05-17 18:20:50 -03:00
Alex Crichton
db69d894e7
Reset submodule management to what master does
...
Basically just translate what's done on master in Rust to Python here.
2017-05-17 09:15:44 -07:00
bors
7b5c3d2b20
Auto merge of #41857 - dhardy:master, r=steveklabnik
...
loop_break_value: add documentation for book
Some notes at the top of the file.
r? @steveklabnik
2017-05-17 15:42:55 +00:00
Tatsuyuki Ishi
182a4ff037
Whitelist strings crate for license
...
As we can't wait for the maintainer.
2017-05-18 00:30:55 +09:00
Tatsuyuki Ishi
510d6b8afb
Move submodule initialization to bootstrap.py
2017-05-18 00:30:55 +09:00
Tatsuyuki Ishi
e119a63901
Add metadata suffix, close rust-lang/cargo#4028
2017-05-18 00:30:55 +09:00
Tatsuyuki Ishi
0e79b9790a
Unify all stage2 tools into a workspace
...
This avoids double compiled Cargo. Hopefully this would speed up (extended) compilation for ~10m.
Notes: when updating Cargo submodule, the replacement version may also need to be updated.
2017-05-18 00:30:54 +09:00
Sylvestre Ledru
1b6a182cf1
Improve the error management when /proc is not mounted
...
This PR does two things:
* Triggers an error on GNU/Linux & Android when /proc/self/exe doesn't exist
* Handle the error properly
2017-05-17 15:14:30 +02:00
bors
2b6ed3a051
Auto merge of #42041 - Keruspe:master, r=alexcrichton
...
rustbuild: fix bash completion installation dir
2017-05-17 12:50:14 +00:00
Diggory Hardy
7ab35b703a
loop_break_value doc: remove note about other loops
2017-05-17 13:00:10 +01:00
bors
208d23a996
Auto merge of #41961 - kennytm:fix-35829, r=petrochenkov
...
Fix #35829 (`quote!()` does not handle `br#"…"#`)
Fix issue #35829 (syntax extension's `quote_expr!()` does not handle `b"…"` and proc_macro's `quote!()` does not handle `r#"…"#`)
* Handles `b"…"`, `br#"…"#` and `...` for `quote_expr!()`.
* Refactored the match statement to allow it to complain loudly on any unhandled token.
* Similarly, proc_macro's `quote!()` did not handle `br#"…"#` or `r#"…"#`, so this PR fixes it too.
2017-05-17 08:14:55 +00:00
bors
42e3732d7d
Auto merge of #41476 - abonander:book_proc_macro, r=nrc
...
Document the `proc_macro` feature in the Unstable Book
Discusses the `proc_macro` feature flag and the features it enables:
* Implicit enable of `extern_use_macros` feature and how to import proc macros
* Error handling in proc macros (using panic messages)
* Function-like proc macros using `#[proc_macro]` and a usage example for creating and invoking
* Attribute-like proc macros using `#[proc_macro_attribute]` and a usage example for creating and invoking
[Rendered](https://github.com/abonander/rust/blob/book_proc_macro/src/doc/unstable-book/src/language-features/proc-macro.md )
2017-05-17 04:21:06 +00:00
bors
d8215fc238
Auto merge of #42049 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
...
Rollup of 5 pull requests
- Successful merges: #41937 , #41957 , #42017 , #42039 , #42046
- Failed merges:
2017-05-17 01:57:45 +00:00