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 #120408

Closed
wants to merge 46 commits into from
Closed

Commits on Jan 5, 2024

  1. Remove feature not required by Ipv6Addr::to_cononical doctest

    The feature does not seem to be required by this doctest.
    eopb committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    853504d View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    1eaeaaf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e05c779 View commit details
    Browse the repository at this point in the history
  3. Add FileCheck for enum.rs

    sfzhu93 committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    33e5d85 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. Configuration menu
    Copy the full SHA
    24aefa0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9452d7e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e9152e2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3ab1d5d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d765e3a View commit details
    Browse the repository at this point in the history
  6. Add FileCheck to struct.rs

    sfzhu93 committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    732f6a1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1adda9a View commit details
    Browse the repository at this point in the history
  8. Add FileCheck for enum.rs

    sfzhu93 committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    7135168 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. resolve code reviews

    sfzhu93 committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    d63f10b View commit details
    Browse the repository at this point in the history
  2. resolve code reviews

    sfzhu93 committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    1c886d7 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2024

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

Commits on Jan 15, 2024

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

Commits on Jan 20, 2024

  1. update misuse of check-label

    sfzhu93 committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    edba949 View commit details
    Browse the repository at this point in the history
  2. finish a pattern in enum.rs

    sfzhu93 committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    7ad307d View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. update enum.rs

    sfzhu93 committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    65b1083 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2024

  1. Boost intersperse(_with) performance

    I did some benchmark digging into the `intersperse` and `intersperse_with` code as part of the https://internals.rust-lang.org/t/add-iterate-with-separators-iterator-function/18781/13 discussion, and as a result I optimized them a bit, without relying on the peekable iterator.
    nyurik committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    f9259d1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b8d245e View commit details
    Browse the repository at this point in the history
  3. fmt

    nyurik committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    f1dbc7b View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. Update library/core/src/iter/adapters/intersperse.rs

    Co-authored-by: Josh Stone <cuviper@gmail.com>
    nyurik and cuviper authored Jan 26, 2024
    Configuration menu
    Copy the full SHA
    8cbff0b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    77f31ef View commit details
    Browse the repository at this point in the history
  3. MCP rust-lang#705: Provide the option `-Csymbol-mangling-version=hash…

    …ed -Z unstable-options` to shorten symbol names by replacing them with a digest.
    
    Enrich test cases
    h1467792822 committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    6e53e66 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    730299b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    df9681b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a3341df View commit details
    Browse the repository at this point in the history
  7. Update codegen test for LLVM 18

    nikic committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    bdf7404 View commit details
    Browse the repository at this point in the history
  8. ScopeTree: remove destruction_scopes as unused

    last usages removed by rust-lang#116170
    klensy committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    90254cd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    304361a View commit details
    Browse the repository at this point in the history
  10. Fix typo

    Co-authored-by: Michael Goulet <michael@errs.io>
    Urgau and compiler-errors authored Jan 26, 2024
    Configuration menu
    Copy the full SHA
    93ff4a4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    169c728 View commit details
    Browse the repository at this point in the history
  12. Properly recover from trailing attr in body

    When encountering an attribute in a body, we try to recover from an
    attribute on an expression (as opposed to a statement). We need to
    properly clean up when the attribute is at the end of the body where a
    tail expression would be.
    
    Fix rust-lang#118164.
    estebank committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    a5d9def View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2024

  1. Avoid ICE in trait without dyn lint

    Do not attempt to provide an accurate suggestion for `impl Trait`
    in bare trait types when linting. Instead, only do the object
    safety check when an E0782 is already going to be emitted in the
    2021 edition.
    
    Fix rust-lang#120241.
    estebank committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    3022c76 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#111379 - nyurik:intersperse-speed-up, r=cuv…

    …iper
    
    Boost iterator intersperse(_with) performance
    
    I did some benchmark digging into the `intersperse` and `intersperse_with` code as part of [this discussion](https://internals.rust-lang.org/t/add-iterate-with-separators-iterator-function/18781/13), and as a result I optimized them a bit, without relying on the peekable iterator.
    
    See also [full benchmark repo](https://github.com/nyurik/intersperse_perf)
    
    Benchmarks show near 2x performance improvements with the simple `sum` [benchmarks](https://gist.github.com/nyurik/68b6c9b3d90f0d14746d4186bf8fa1e2):
    ![image](https://user-images.githubusercontent.com/1641515/237005195-16aebef4-9eed-4514-8b7c-da1d1f5bd9e0.png)
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    37f8c01 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#118182 - estebank:issue-118164, r=davidtwco

    Properly recover from trailing attr in body
    
    When encountering an attribute in a body, we try to recover from an attribute on an expression (as opposed to a statement). We need to properly clean up when the attribute is at the end of the body where a tail expression would be.
    
    Fix rust-lang#118164, fix rust-lang#118575.
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    00f5e09 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#118636 - h1467792822:dev, r=michaelwoerister

    Add the unstable option  to reduce the binary size of dynamic library…
    
    # Motivation
    
    The average length of symbol names in the rust standard library is about 100 bytes, while the average length of symbol names in the C++ standard library is about 65 bytes. In some embedded environments where dynamic library are widely used, rust dynamic library symbol name space hash become one of the key bottlenecks of application, Especially when the existing C/C++ module is reconstructed into the rust module.
    
    The unstable option `-Z symbol_mangling_version=hashed` is added to solve the bottleneck caused by too long dynamic library symbol names.
    
    ## Test data
    
    The following is a set of test data on the ubuntu 18.04 LTS environment. With this plug-in, the space saving rate of dynamic libraries can reach about 20%.
    
    The test object is the standard library of rust (built based on Xargo), tokio crate, and hyper crate.
    
    The contents of the Cargo.toml file in the construction project of the three dynamic libraries are as follows:
    
    ```txt
    # Cargo.toml
    [profile.release]
    panic = "abort"
    opt-leve="z"
    codegen-units=1
    strip=true
    debug=true
    ```
    The built dynamic library also removes the `.rustc` segments that are not needed at run time and then compares the size. The detailed data is as follows:
    
    1. libstd.so
    > | symbol_mangling_version | size | saving rate |
    > | --- | --- | --- |
    > | legacy | 804896 ||
    > | hashed | 608288 | 0.244 |
    > | v0 | 858144 ||
    > | hashed | 608288 | 0.291 |
    
    2. libhyper.so
    > | symbol_mangling_version(libhyper.so) | symbol_mangling_version(libstd.so) | size | saving rate |
    > | --- | --- | --- | --- |
    > | legacy | legacy | 866312 ||
    > | hashed | legacy | 645128 |0.255|
    > | legacy | hashed | 854024 ||
    > | hashed | hashed | 632840 |0.259|
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b4bda9b View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#119641 - eopb:std-unused-ip-feature, r=Chri…

    …sDenton
    
    Remove feature not required by `Ipv6Addr::to_cononical` doctest
    
    The feature does not seem to be required by this doctest.
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b93aba2 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#119759 - sfzhu93:master, r=cjgillot

    Add FileCheck annotations to dataflow-const-prop tests
    
    part of rust-lang#116971.
    
    A few shadowing variable names are changed, so that it is easier to match the variable names in MIR using FileCheck syntax.
    
    Also, there's a FIXME in [enum.rs](https://github.com/rust-lang/rust/pull/119759/files#diff-7621f55327838e489a95ac99ae1e6126b37c57aff582594e6bee9d7e7e56fc58) because the MIR looks suspicious to me. It has been explained in the comments.
    
    r? cjgillot
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    696cec3 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#120268 - DianQK:otherwise_is_last_variant_s…

    …witchs, r=oli-obk
    
    Replace the default branch with an unreachable branch If it is the last variant
    
    Fixes rust-lang#119520.
    
    LLVM currently has limited ability to eliminate dead branches in switches, even with the patch of llvm/llvm-project#73446.
    
    The main reasons are as follows:
    
    - Additional costs are required to calculate the range of values, and there exist many scenarios that cannot be analyzed accurately.
    - Matching values by bitwise calculation cannot handle odd branches, nor can it handle values like `-1, 0, 1`. See [SimplifyCFG.cpp#L5424](https://github.com/llvm/llvm-project/blob/llvmorg-17.0.6/llvm/lib/Transforms/Utils/SimplifyCFG.cpp#L5424) and https://llvm.godbolt.org/z/qYMqhvMa8
    - The current range information is continuous, even if the metadata for the range is submitted. See [ConstantRange.cpp#L1869-L1870](https://github.com/llvm/llvm-project/blob/llvmorg-17.0.6/llvm/lib/IR/ConstantRange.cpp#L1869-L1870).
    - The metadata of the range may be lost in passes such as SROA. See https://rust.godbolt.org/z/e7f87vKMK.
    
    Although we can make improvements, I think it would be more appropriate to put this issue to rustc first. After all, we can easily know the possible values.
    
    Note that we've currently found a slow compilation problem in the presence of unreachable branches. See
    llvm/llvm-project#78578.
    
    r? compiler
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    35c1914 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#120275 - estebank:issue-120241, r=fmease

    Avoid ICE in trait without `dyn` lint
    
    Do not attempt to provide an accurate suggestion for `impl Trait` in bare trait types when linting. Instead, only do the object safety check when an E0782 is already going to be emitted in the 2021 edition.
    
    Fix rust-lang#120241.
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    a58ce1e View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#120376 - nikic:update-codegen-test, r=cuviper

    Update codegen test for LLVM 18
    
    r? `@cuviper`
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    340c99b View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#120386 - klensy:destruction_scopes, r=compi…

    …ler-errors
    
    ScopeTree: remove destruction_scopes as unused
    
    last usages removed by rust-lang#116170
    
    Unused, but still presented in memory at `t-gmax` (in DHAT termonology)
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    98b86de View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#120398 - Urgau:into_diag_arg-numbers, r=com…

    …piler-errors
    
    Improve handling of numbers in `IntoDiagnosticArg`
    
    While working on rust-lang#120393, I realize that my fluent selectors were not working. So here is an improvement (not a fix unfortunately).
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    9018ae8 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#120399 - thomcc:thomcc-no-rotation, r=Nilst…

    …rieb
    
    Remove myself from review rotation
    
    Still willing to do reviews (and make it through my backlog), but I don't have the bandwidth to be on the rotation right now.
    Nadrieril authored Jan 27, 2024
    Configuration menu
    Copy the full SHA
    4459817 View commit details
    Browse the repository at this point in the history