-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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 13 pull requests #52486
Rollup of 13 pull requests #52486
Conversation
The original example didn't check the return value of `write()`, didn't flush the writer, and didn't properly demonstrate the buffering. Fixes rust-lang#51621.
It wasn't abundantly clear to me what `.take` returned. Perhaps this is a slightly frivolous change, but I think it's an improvement. =) Apologies if I'm not following proper procedures.
This feature is stable, we shouldn't suggest it any more! Instead suggest the real feature, `use_extern_macros`.
After rust-lang#51122 clippy is available as a component but don't install when building from source. This PR allows to install clippy with extended tools.
This was previously enabled via `proc_macro`, but since `proc_macro` is now stable this is no longer the case. Explicitly include it in the 2018 edition here.
Handle array manually in str case conversion methods Avoiding the overhead incurred from `String.extend(char.to_lowercase())` showed a notable performance improvement when I benchmarked it. I tested on these strings: ```rust ALL_LOWER: "loremipsumdolorsitametduosensibusmnesarchumabcdefgh" ALL_UPPER: "LOREMIPSUMDOLORSITAMETDUOSENSIBUSMNESARCHUMABCDEFGH" REALISTIC_UPPER: "LOREM IPSUM DOLOR SIT AMET, DUO SENSIBUS MNESARCHUM" SIGMAS: "ΣΣΣΣΣ ΣΣΣΣΣ ΣΣΣΣΣ ΣΣΣ ΣΣΣΣ, ΣΣΣ ΣΣΣΣΣΣΣΣ ΣΣΣΣΣΣΣΣΣΣ" WORD_UPPER: "Lorem Ipsum Dolor Sit Amet, Duo Sensibus Mnesarchum" ``` the performance improvements of `to_lowercase()` were ``` running 10 tests test tests::all_lower ... bench: 1,752 ns/iter (+/- 49) test tests::all_lower_new ... bench: 1,266 ns/iter (+/- 15) -28% test tests::all_upper ... bench: 1,832 ns/iter (+/- 39) test tests::all_upper_new ... bench: 1,337 ns/iter (+/- 18) -27% test tests::realistic_upper ... bench: 1,993 ns/iter (+/- 14) test tests::realistic_upper_new ... bench: 1,445 ns/iter (+/- 22) -27% test tests::sigmas ... bench: 1,342 ns/iter (+/- 39) test tests::sigmas_new ... bench: 1,226 ns/iter (+/- 16) -9% test tests::word_upper ... bench: 1,899 ns/iter (+/- 12) test tests::word_upper_new ... bench: 1,381 ns/iter (+/- 26) -27% ``` and of `to_uppercase()` ``` running 10 tests test tests::all_lower ... bench: 1,813 ns/iter (+/- 20) test tests::all_lower_new ... bench: 1,321 ns/iter (+/- 16) -27% test tests::all_upper ... bench: 1,629 ns/iter (+/- 22) test tests::all_upper_new ... bench: 1,241 ns/iter (+/- 9) -24% test tests::realistic_upper ... bench: 1,670 ns/iter (+/- 24) test tests::realistic_upper_new ... bench: 1,241 ns/iter (+/- 17) -26% test tests::sigmas ... bench: 2,053 ns/iter (+/- 20) test tests::sigmas_new ... bench: 1,753 ns/iter (+/- 23) -15% test tests::word_upper ... bench: 1,873 ns/iter (+/- 30) test tests::word_upper_new ... bench: 1,412 ns/iter (+/- 25) -25% ``` I gave up on the more advanced method from rust-lang#52061 as it wasn't always a clear improvement and would help in even less cases if this PR was merged.
Amend option.take examples It wasn't abundantly clear to me what `.take` returned. Perhaps this is a slightly frivolous change, but I think it's an improvement. =) Apologies if I'm not following proper procedures.
Revert some changes from rust-lang#51917 to fix custom libdir Should fix rust-lang#52317 also adds `libdir` value to output.
Fix doc comment: use `?` instead of `.unwrap()`
…ochenkov rustc: Fix a suggestion for the `proc_macro` feature This feature is stable, we shouldn't suggest it any more! Instead suggest the real feature, `use_extern_macros`.
Allow clippy to be installed with make install After rust-lang#51122 clippy is available as a component but doesn't install when building from source. This PR allows to install clippy with extended tools.
…=petrochenkov rustc: Enable `use_extern_macros` in 2018 edition This was previously enabled via `proc_macro`, but since `proc_macro` is now stable this is no longer the case. Explicitly include it in the 2018 edition here.
…xcrichton Clarify short-circuiting behvaior of Iterator::zip. Fixes rust-lang#52279.
@bors r+ p=8 |
📌 Commit 091c9d2 has been approved by |
This commit is an attempted fix at rust-lang#50887. It was noticed that on that issue we're building both x86_64 and i386 versions of libraries, but we only actually need the x86_64 versions! This hopes that the build race condition exhibited in rust-lang#50887 is connected to building both architectures and/or building a lot of libraries, so this should help us build precisely what we need and no more.
… r=kennytm Don't build twice the sanitizers on Linux This commit is an attempted fix at rust-lang#50887. It was noticed that on that issue we're building both x86_64 and i386 versions of libraries, but we only actually need the x86_64 versions! This hopes that the build race condition exhibited in rust-lang#50887 is connected to building both architectures and/or building a lot of libraries, so this should help us build precisely what we need and no more.
use checked write in `LineWriter` example The example was wrong because it didn't check the return value of `write()`, and it didn't flush the buffer before comparing the contents of the file. Fixes rust-lang#51621.
Cleanup rust-lang#24958 Since rust-lang#24958 was closed we might want to remove the workarounds it introduced for android, arm and aarch64.
📌 Commit b1c6b76 has been approved by |
Based on the discussion in rust-lang#35705, the rustdoc team has determined that macro redirects are here to stay. Closes rust-lang#35705
…sakis Do not use desugared ident when suggesting adding a type Re rust-lang#51116.
… r=nrc rustdoc: remove FIXME about macro redirects Based on the discussion in rust-lang#35705, the rustdoc team has determined that macro redirects are here to stay. Closes rust-lang#35705
📌 Commit ae9c550 has been approved by |
Rollup of 13 pull requests Successful merges: - #51628 (use checked write in `LineWriter` example) - #52116 (Handle array manually in str case conversion methods) - #52218 (Amend option.take examples) - #52418 (Do not use desugared ident when suggesting adding a type) - #52439 (Revert some changes from #51917 to fix custom libdir) - #52455 (Fix doc comment: use `?` instead of `.unwrap()`) - #52458 (rustc: Fix a suggestion for the `proc_macro` feature) - #52464 (Allow clippy to be installed with make install) - #52472 (rustc: Enable `use_extern_macros` in 2018 edition) - #52477 (Clarify short-circuiting behvaior of Iterator::zip.) - #52480 (Cleanup #24958) - #52487 (Don't build twice the sanitizers on Linux) - #52510 (rustdoc: remove FIXME about macro redirects) Failed merges: r? @ghost
☀️ Test successful - status-appveyor, status-travis |
📣 Toolstate changed by #52486! Tested on commit 629d891. 💔 clippy-driver on windows: test-pass → build-fail (cc @Manishearth @llogiq @mcarton @oli-obk, @rust-lang/infra). |
Tested on commit rust-lang/rust@629d891. Direct link to PR: <rust-lang/rust#52486> 💔 clippy-driver on windows: test-pass → build-fail (cc @Manishearth @llogiq @mcarton @oli-obk, @rust-lang/infra). 💔 clippy-driver on linux: test-pass → build-fail (cc @Manishearth @llogiq @mcarton @oli-obk, @rust-lang/infra). 💔 rls on windows: test-pass → build-fail (cc @nrc, @rust-lang/infra). 💔 rls on linux: test-pass → build-fail (cc @nrc, @rust-lang/infra).
clippy_lints broken by #52472 because of
|
Successful merges:
LineWriter
example #51628 (use checked write inLineWriter
example)Cargo.lock
#51917 to fix custom libdir)?
instead of.unwrap()
#52455 (Fix doc comment: use?
instead of.unwrap()
)proc_macro
feature #52458 (rustc: Fix a suggestion for theproc_macro
feature)use_extern_macros
in 2018 edition #52472 (rustc: Enableuse_extern_macros
in 2018 edition)Failed merges:
r? @ghost