-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 17 pull requests #42105
Merged
Merged
Rollup of 17 pull requests #42105
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This commit 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.
This PR does two things: * Triggers an error on GNU/Linux & Android when /proc/self/exe doesn't exist * Handle the error properly
As requested in rust-lang#29370.
…enabled Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
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>
Previously, any non-Unicode argument would panic rustc: ``` $ rustc $'foo\x80bar' error: internal compiler error: unexpected panic note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: "foo�bar"', /checkout/src/libcore/result.rs:859 note: Run with `RUST_BACKTRACE=1` for a backtrace. ``` Now it gives a clean error: ``` $ rustc $'foo\x80bar' error: Argument 1 is not valid Unicode: "foo�bar" ``` Maybe fixes rust-lang#15890, although we still can't *compile* arbitrary file names.
* Use a different loop variable, `i` was already taken. This caused missing items in the implementors list. * Use `.getAttribute('href')` rather than `.href` to get the relative URL which is what it needs to actually fix the links.
- 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.
…around OSX linker bug.
…-docs, r=frewsxcv Improve docs in os::windows::ffi and os::windows::fs Part of rust-lang#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
Number of filtered out tests in tests summary Closes rust-lang#31905
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.
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]: rust-embedded/wg#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
…=nrc Fix ICE on `include!(line!())` (regression) Fixes rust-lang#41776. r? @nrc
…r=steveklabnik Add documentation for `ExitStatus` As requested in rust-lang#29370. r? @steveklabnik
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>
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
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.
misc doc improvements for std::env
fix typo in libstd/sync/mpsc/mod.rs docs
Fix regression introduced by jQuery removal Fixes rust-lang#42078. Follows rust-lang#41307. r? @steveklabnik cc @frewsxcv
…hes, 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`.
…lexcrichton Fix x.py Fixes rust-lang#42085
Give a nicer error for non-Unicode arguments to rustc and rustdoc Previously, any non-Unicode argument would panic rustc: ``` $ rustc $'foo\x80bar' error: internal compiler error: unexpected panic note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: "foo�bar"', /checkout/src/libcore/result.rs:859 note: Run with `RUST_BACKTRACE=1` for a backtrace. ``` Now it gives a clean error: ``` $ rustc $'foo\x80bar' error: Argument 1 is not valid Unicode: "foo�bar" ``` Maybe fixes rust-lang#15890, although we still can't *compile* arbitrary file names.
…meGomez rustdoc: Fix implementors list javascript * Use a different loop variable, `i` was already taken. This caused missing items in the implementors list. * Use `.getAttribute('href')` rather than `.href` to get the relative URL which is what it needs to actually fix the links. More fallout from rust-lang#41307. r? @GuillaumeGomez
…debuginfo, r=jdm debuginfo: Generate unique DW_AT_names for compilation units to work around OSX linker bug This should fix issue rust-lang#39160 and does not seem to cause any problems. cc @tromey, @Manishearth r? @jdm
Some changes occurred in HTML/CSS. |
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
@bors r+ p=10 |
📌 Commit 040cd6d has been approved by |
bors
added a commit
that referenced
this pull request
May 19, 2017
☀️ Test successful - status-appveyor, status-travis |
This was referenced May 19, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
include!(line!())
(regression) #42006, Add documentation forExitStatus
#42024, Minor optimisation of the string operations #42037, Improve the error management when /proc is not mounted #42056, rustbuild: install improvements #42067, misc doc improvements for std::env #42070, fix typo in libstd/sync/mpsc/mod.rs docs #42079, Fix regression introduced by jQuery removal #42080, incr. comp.: Use more bits for DefPath hashes #42082, Fix x.py #42089, Give a nicer error for non-Unicode arguments to rustc and rustdoc #42092, rustdoc: Fix implementors list javascript #42096, debuginfo: Generate unique DW_AT_names for compilation units to work around OSX linker bug #42100