-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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 11 pull requests #128668
Rollup of 11 pull requests #128668
Commits on Jul 21, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 468f935 - Browse repository at this point
Copy the full SHA 468f935View commit details
Commits on Aug 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c2523c9 - Browse repository at this point
Copy the full SHA c2523c9View commit details -
Remove unnecessary constants from flt2dec dragon
The "dragon" `flt2dec` algorithm uses multi-precision multiplication by (sometimes large) powers of 10. It has precomputed some values to help with these calculations. BUT: * There is no need to store powers of 10 and 2 * powers of 10: it is trivial to compute the second from the first. * We can save a chunk of memory by storing powers of 5 instead of powers of 10 for the large powers (and just shifting by 2 as appropriate). * This also slightly speeds up the routines (by ~1-3%) since the intermediate products are smaller and the shift is cheap. In this PR, we remove the unnecessary constants and do the necessary adjustments. Relevant benchmarks before (on my Threadripper 3970X, x86_64-unknown-linux-gnu): ``` num::flt2dec::bench_big_shortest 137.92/iter +/- 2.24 num::flt2dec::strategy::dragon::bench_big_exact_12 2135.28/iter +/- 38.90 num::flt2dec::strategy::dragon::bench_big_exact_3 904.95/iter +/- 10.58 num::flt2dec::strategy::dragon::bench_big_exact_inf 47230.33/iter +/- 320.84 num::flt2dec::strategy::dragon::bench_big_shortest 3915.05/iter +/- 51.37 ``` and after: ``` num::flt2dec::bench_big_shortest 137.40/iter +/- 2.03 num::flt2dec::strategy::dragon::bench_big_exact_12 2101.10/iter +/- 25.63 num::flt2dec::strategy::dragon::bench_big_exact_3 873.86/iter +/- 4.20 num::flt2dec::strategy::dragon::bench_big_exact_inf 47468.19/iter +/- 374.45 num::flt2dec::strategy::dragon::bench_big_shortest 3877.01/iter +/- 45.74 ```
Configuration menu - View commit details
-
Copy full SHA for 36a8059 - Browse repository at this point
Copy the full SHA 36a8059View commit details -
Configuration menu - View commit details
-
Copy full SHA for f28d157 - Browse repository at this point
Copy the full SHA f28d157View commit details -
Configuration menu - View commit details
-
Copy full SHA for b94a9c1 - Browse repository at this point
Copy the full SHA b94a9c1View commit details
Commits on Aug 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f9d7e4c - Browse repository at this point
Copy the full SHA f9d7e4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b46237b - Browse repository at this point
Copy the full SHA b46237bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e5341a - Browse repository at this point
Copy the full SHA 2e5341aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 249afea - Browse repository at this point
Copy the full SHA 249afeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8c2b76 - Browse repository at this point
Copy the full SHA d8c2b76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3268b2e - Browse repository at this point
Copy the full SHA 3268b2eView commit details -
Enable msvc for run-make/rust-lld
This is simply a matter of using the right argument for lld-link.
Configuration menu - View commit details
-
Copy full SHA for d6c9d64 - Browse repository at this point
Copy the full SHA d6c9d64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 69de294 - Browse repository at this point
Copy the full SHA 69de294View commit details -
rustdoc: Rename
SelfTy
toReceiverTy
`SelfTy` makes it sound like it is literally the `Self` type, whereas in fact it may be `&Self` or other types. Plus, I want to use the name `SelfTy` for a new variant of `clean::Type`. Having both causes resolution conflicts or at least confusion.
Configuration menu - View commit details
-
Copy full SHA for 249d686 - Browse repository at this point
Copy the full SHA 249d686View commit details -
rustdoc: Create
SelfTy
to replaceGeneric(kw::SelfUpper)
Rustdoc often has to special-case `Self` because it is, well, a special type of generic parameter (although it also behaves as an alias in concrete impls). Instead of spreading this special-casing throughout the code base, create a new variant of the `clean::Type` enum that is for `Self` types. This is a refactoring that has almost no impact on rustdoc's behavior, except that `&Self`, `(Self,)`, `&[Self]`, and other similar occurrences of `Self` no longer link to the wrapping type (reference primitive, tuple primitive, etc.) as regular generics do. I felt this made more sense since users would expect `Self` to link to the containing trait or aliased type (though those are usually expanded), not the primitive that is wrapping it. For an example of the change, see the docs for `std::alloc::Allocator::by_ref`.
Configuration menu - View commit details
-
Copy full SHA for 664b3ff - Browse repository at this point
Copy the full SHA 664b3ffView commit details -
rustdoc: Stop treating
Self
as a generic in search indexWe already have special-cased code to handle inlining `Self` as the type or trait it refers to, and this was just causing glitches like the search `A -> B` yielding blanket `Into` impls.
Configuration menu - View commit details
-
Copy full SHA for 4e348fa - Browse repository at this point
Copy the full SHA 4e348faView commit details -
Use
match
instead of sequence ofif let
sThis is much more readable and idiomatic, and also may help performance since `match`es usually use switches while `if`s may not. I also fixed an incorrect comment.
Configuration menu - View commit details
-
Copy full SHA for e452e3d - Browse repository at this point
Copy the full SHA e452e3dView commit details -
rustdoc: Delete
ReceiverTy
(formerly known asSelfTy
)It was barely used, and the places that used it are actually clearer without it since they were often undoing some of its work. This also avoids an unnecessary clone of the receiver type and removes a layer of logical indirection in the code.
Configuration menu - View commit details
-
Copy full SHA for b4f77df - Browse repository at this point
Copy the full SHA b4f77dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for dac7f20 - Browse repository at this point
Copy the full SHA dac7f20View commit details
Commits on Aug 5, 2024
-
Rollup merge of rust-lang#128026 - devnexen:available_parallelism_vxw…
…orks, r=Mark-Simulacrum std::thread: available_parallelism implementation for vxWorks proposal.
Configuration menu - View commit details
-
Copy full SHA for e5bda6b - Browse repository at this point
Copy the full SHA e5bda6bView commit details -
Rollup merge of rust-lang#128471 - camelid:rustdoc-self, r=notriddle
rustdoc: Fix handling of `Self` type in search index and refactor its representation ### Summary - Add enum variant `clean::Type::SelfTy` and use it instead of `clean::Type::Generic(kw::SelfUpper)`. - Stop treating `Self` as a generic in the search index. - Remove struct formerly known as `clean::SelfTy` (constructed as representation of function receiver type). We're better off without it. ### Before ![image](https://github.com/user-attachments/assets/d257bdd8-3a62-4c71-84a5-9c950f2e4f00) ### After ![image](https://github.com/user-attachments/assets/8f6d3f22-92c1-41e3-9ab8-a881b66816c0) r? `@notriddle` cc rust-lang#127589 (comment)
Configuration menu - View commit details
-
Copy full SHA for 85b5336 - Browse repository at this point
Copy the full SHA 85b5336View commit details -
Rollup merge of rust-lang#128607 - ChrisDenton:visibility, r=jieyouxu
Use `object` in `run-make/symbols-visibility` This is another case where we can simply use a rust library instead of wrangling nm. try-job: x86_64-msvc try-job: i686-msvc try-job: test-various
Configuration menu - View commit details
-
Copy full SHA for a0680f8 - Browse repository at this point
Copy the full SHA a0680f8View commit details -
Rollup merge of rust-lang#128609 - swenson:smaller-faster-dragon, r=A…
…manieu Remove unnecessary constants from flt2dec dragon The "dragon" `flt2dec` algorithm uses multi-precision multiplication by (sometimes large) powers of 10. It has precomputed some values to help with these calculations. BUT: * There is no need to store powers of 10 and 2 * powers of 10: it is trivial to compute the second from the first. * We can save a chunk of memory by storing powers of 5 instead of powers of 10 for the large powers (and just shifting as appropriate). * This also slightly speeds up the routines (by ~1-3%) since the intermediate products are smaller and the shift is cheap. In this PR, we remove the unnecessary constants and do the necessary adjustments. Relevant benchmarks before (on my Threadripper 3970X, x86_64-unknown-linux-gnu): ``` num::flt2dec::bench_big_shortest 137.92/iter +/- 2.24 num::flt2dec::strategy::dragon::bench_big_exact_12 2135.28/iter +/- 38.90 num::flt2dec::strategy::dragon::bench_big_exact_3 904.95/iter +/- 10.58 num::flt2dec::strategy::dragon::bench_big_exact_inf 47230.33/iter +/- 320.84 num::flt2dec::strategy::dragon::bench_big_shortest 3915.05/iter +/- 51.37 ``` and after: ``` num::flt2dec::bench_big_shortest 137.40/iter +/- 2.03 num::flt2dec::strategy::dragon::bench_big_exact_12 2101.10/iter +/- 25.63 num::flt2dec::strategy::dragon::bench_big_exact_3 873.86/iter +/- 4.20 num::flt2dec::strategy::dragon::bench_big_exact_inf 47468.19/iter +/- 374.45 num::flt2dec::strategy::dragon::bench_big_shortest 3877.01/iter +/- 45.74 ```
Configuration menu - View commit details
-
Copy full SHA for 6d09f23 - Browse repository at this point
Copy the full SHA 6d09f23View commit details -
Rollup merge of rust-lang#128611 - ChrisDenton:cygpath, r=jieyouxu
run-make: Remove cygpath Remove cygpath from run-make-support.
Configuration menu - View commit details
-
Copy full SHA for 0fb82fc - Browse repository at this point
Copy the full SHA 0fb82fcView commit details -
Rollup merge of rust-lang#128630 - bvanjoi:resolve-comment, r=petroch…
…enkov docs(resolve): more explain about `target` r? `````@petrochenkov`````
Configuration menu - View commit details
-
Copy full SHA for b72412a - Browse repository at this point
Copy the full SHA b72412aView commit details -
Rollup merge of rust-lang#128638 - ChrisDenton:link-dedup, r=jieyouxu
run-make: enable msvc for `link-dedup` This is just a case of differing style of linker arguments. I also cleaned up a bit where we were running the same command three times in a row. Instead I reused the output. One thing that confused me is why we were testing for the same lib three times in a row but not two. After figuring that out I added a note to hopefully save future readers some confusion. try-job: x86_64-msvc try-job: i686-msvc
Configuration menu - View commit details
-
Copy full SHA for 702a8cc - Browse repository at this point
Copy the full SHA 702a8ccView commit details -
Rollup merge of rust-lang#128647 - ChrisDenton:link-args-order, r=jie…
…youxu Enable msvc for link-args-order I could not see any reason in rust-lang#70665 why this test needs to specifically use `ld`. Maybe to provide a consistent linker input line? In any case, the test does work for the MSVC linker. try-job: i686-msvc try-job: x86_64-msvc
Configuration menu - View commit details
-
Copy full SHA for 10f32e1 - Browse repository at this point
Copy the full SHA 10f32e1View commit details -
Rollup merge of rust-lang#128649 - ChrisDenton:param-passing, r=jieyouxu
run-make: Enable msvc for `no-duplicate-libs` and `zero-extend-abi-param-passing` The common thing between these two tests is to use `#[link(..., kind="static")]` so that it doesn't try to do a DLL import. `zero-extend-abi-param-passing` also needs to have an optimized static library but there's only helper function for a non-optimized version. Rather than copy/pasting the code (and adding the optimization flag) I reused the same code so that it more easily be kept in sync. try-job: i686-msvc try-job: x86_64-msvc
Configuration menu - View commit details
-
Copy full SHA for b8ac571 - Browse repository at this point
Copy the full SHA b8ac571View commit details -
Rollup merge of rust-lang#128656 - ChrisDenton:rust-lld, r=lqd
Enable msvc for run-make/rust-lld This is simply a matter of using the right argument for lld-link. As a bonus, I also fixed a typo. try-job: i686-msvc try-job: x86_64-msvc
Configuration menu - View commit details
-
Copy full SHA for 98055e3 - Browse repository at this point
Copy the full SHA 98055e3View commit details -
Rollup merge of rust-lang#128660 - matthiaskrgr:niceice, r=compiler-e…
…rrors tests: more crashes r? `@jieyouxu`
Configuration menu - View commit details
-
Copy full SHA for a832b63 - Browse repository at this point
Copy the full SHA a832b63View commit details