Skip to content
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

Closed
wants to merge 30 commits into from
Closed

Commits on Jul 21, 2024

  1. Configuration menu
    Copy the full SHA
    468f935 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2024

  1. Configuration menu
    Copy the full SHA
    c2523c9 View commit details
    Browse the repository at this point in the history
  2. 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
    ```
    swenson committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    36a8059 View commit details
    Browse the repository at this point in the history
  3. Update rmake.rs

    ChrisDenton committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    f28d157 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b94a9c1 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2024

  1. Configuration menu
    Copy the full SHA
    f9d7e4c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b46237b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e5341a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    249afea View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d8c2b76 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3268b2e View commit details
    Browse the repository at this point in the history
  7. Enable msvc for run-make/rust-lld

    This is simply a matter of using the right argument for lld-link.
    ChrisDenton committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    d6c9d64 View commit details
    Browse the repository at this point in the history
  8. tests: more crashes

    matthiaskrgr committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    69de294 View commit details
    Browse the repository at this point in the history
  9. rustdoc: Rename SelfTy to ReceiverTy

    `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.
    camelid committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    249d686 View commit details
    Browse the repository at this point in the history
  10. rustdoc: Create SelfTy to replace Generic(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`.
    camelid committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    664b3ff View commit details
    Browse the repository at this point in the history
  11. rustdoc: Stop treating Self as a generic in search index

    We 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.
    camelid committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    4e348fa View commit details
    Browse the repository at this point in the history
  12. Use match instead of sequence of if lets

    This 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.
    camelid committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    e452e3d View commit details
    Browse the repository at this point in the history
  13. rustdoc: Delete ReceiverTy (formerly known as SelfTy)

    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.
    camelid committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    b4f77df View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    dac7f20 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Rollup merge of rust-lang#128026 - devnexen:available_parallelism_vxw…

    …orks, r=Mark-Simulacrum
    
    std::thread: available_parallelism implementation for vxWorks proposal.
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    e5bda6b View commit details
    Browse the repository at this point in the history
  2. 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)
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    85b5336 View commit details
    Browse the repository at this point in the history
  3. 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
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    a0680f8 View commit details
    Browse the repository at this point in the history
  4. 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
    ```
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    6d09f23 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#128611 - ChrisDenton:cygpath, r=jieyouxu

    run-make: Remove cygpath
    
    Remove cygpath from run-make-support.
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    0fb82fc View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#128630 - bvanjoi:resolve-comment, r=petroch…

    …enkov
    
    docs(resolve): more explain about `target`
    
    r? `````@petrochenkov`````
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    b72412a View commit details
    Browse the repository at this point in the history
  7. 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
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    702a8cc View commit details
    Browse the repository at this point in the history
  8. 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
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    10f32e1 View commit details
    Browse the repository at this point in the history
  9. 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
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    b8ac571 View commit details
    Browse the repository at this point in the history
  10. 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
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    98055e3 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#128660 - matthiaskrgr:niceice, r=compiler-e…

    …rrors
    
    tests: more crashes
    
    r? `@jieyouxu`
    ChrisDenton committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    a832b63 View commit details
    Browse the repository at this point in the history