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 10 pull requests #122423

Merged
merged 27 commits into from Mar 13, 2024
Merged

Rollup of 10 pull requests #122423

merged 27 commits into from Mar 13, 2024

Commits on Mar 2, 2024

  1. Tiny missed simplification

    Nadrieril committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    832b23f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3d3b321 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8c3688c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    edea739 View commit details
    Browse the repository at this point in the history
  5. Fix a subtle regression

    Before, the SwitchInt cases were computed in two passes: if the first
    pass accepted e.g. 0..=5 and then 1, the second pass would not accept
    0..=5 anymore because 1 would be listed in the SwitchInt options.
    
    Now there's a single pass, so if we sort 0..=5 we must take care to not
    sort a subsequent 1.
    Nadrieril committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    d46ff64 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2024

  1. Store pattern arity in DeconstructedPat

    Right now this is just `self.fields.len()` but that'll change in the
    next commit. `arity` will be useful for the `Debug` impl.
    Nadrieril committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    c1e6886 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6ae9fa3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d339bda View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2024

  1. Configuration menu
    Copy the full SHA
    9962a01 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aa71151 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    22a5267 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    96b8225 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    eab1f30 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f3b348b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    68fc922 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. Configuration menu
    Copy the full SHA
    1f544ce View commit details
    Browse the repository at this point in the history
  2. coverage: Add -Zcoverage-options for fine control of coverage

    This new nightly-only flag can be used to toggle fine-grained flags that
    control the details of coverage instrumentation.
    
    Currently the only supported flag value is `branch` (or `no-branch`), which is
    a placeholder for upcoming support for branch coverage. Other flag values can
    be added in the future, to prototype proposed new behaviour, or to enable
    special non-default behaviour.
    Zalathar committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    3407fcc View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#121820 - Nadrieril:idxpat2, r=compiler-errors

    pattern analysis: Store field indices in `DeconstructedPat` to avoid virtual wildcards
    
    For a pattern like `Struct { field3: true, .. }`, in pattern analysis we represent it as `Struct { field1: _, field2: _, field3: true, field4: _ }`. This PR makes it so we store `Struct { field3: true, .. }` instead. This means we never have to create fake `_` patterns during lowering.
    
    r? ``@compiler-errors``
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    1b198ba View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#121908 - Nadrieril:dynamic-variant-collecti…

    …on, r=matthewjasper
    
    match lowering: don't collect test alternatives ahead of time
    
    I'm very happy with this one. Before this, when sorting candidates into the possible test branches, we manually computed `usize` indices to determine in which branch each candidate goes. To make this work we had a first pass that collected the possible alternatives we'd have to deal with, and a second pass that actually sorts the candidates.
    
    In this PR, I replace `usize` indices with a dedicated enum. This makes `sort_candidates` easier to follow, and we don't need the first pass anymore.
    
    r? ``@matthewjasper``
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    e6ba504 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#122203 - adpaco-aws:smir-intrinsic-name, r=…

    …celinval
    
    Add `intrinsic_name` to get plain intrinsic name
    
    Add an `intrinsic_name` API to retrieve the plain intrinsic name. The plain name does not include type arguments (as `trimmed_name` does), which is more convenient to match with intrinsic symbols.
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    8d78f8e View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#122226 - Zalathar:zcoverage-options, r=nnet…

    …hercote
    
    coverage: Remove or migrate all unstable values of `-Cinstrument-coverage`
    
    (This PR was substantially overhauled from its original version, which migrated all of the existing unstable values intact.)
    
    This PR takes the three nightly-only values that are currently accepted by `-Cinstrument-coverage`, completely removes two of them (`except-unused-functions` and `except-unused-generics`), and migrates the third (`branch`) over to a newly-introduced unstable flag `-Zcoverage-options`.
    
    I have a few motivations for wanting to do this:
    
    - It's unclear whether anyone actually uses the `except-unused-*` values, so this serves as an opportunity to either remove them, or prompt existing users to object to their removal.
    - After rust-lang#117199, the stable values of `-Cinstrument-coverage` treat it as a boolean-valued flag, so having nightly-only extra values feels out-of-place.
      - Nightly-only values also require extra ad-hoc code to make sure they aren't accidentally exposed to stable users.
    - The new system allows multiple different settings to be toggled independently, which isn't possible in the current single-value system.
    - The new system makes it easier to introduce new behaviour behind an unstable toggle, and then gather nightly-user feedback before possibly making it the default behaviour for all users.
    - The new system also gives us a convenient place to put relatively-narrow options that won't ever be the default, but that nightly users might still want access to.
    - It's likely that we will eventually want to give stable users more fine-grained control over coverage instrumentation. The new flag serves as a prototype of what that stable UI might eventually look like.
    
    The `branch` option is a placeholder that currently does nothing. It will be used by rust-lang#122322 to opt into branch coverage instrumentation.
    
    ---
    
    I see `-Zcoverage-options` as something that will exist more-or-less indefinitely, though individual sub-options might come and go as appropriate. I think there will always be some demand for nightly-only toggles, so I don't see `-Zcoverage-options` itself ever being stable, though we might eventually stabilize something similar to it.
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    8b9ef3b View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#122255 - Nadrieril:min_exh_pats-libs, r=sco…

    …ttmcm
    
    Use `min_exhaustive_patterns` in core & std
    
    [`min_exhaustive_patterns`](rust-lang#119612) provides a subset of the functionality of [`exhaustive_patterns`](rust-lang#51085) which is likely to be stabilized much earlier than the full feature.
    
    The subset covers all the compiler and std use cases. `compiler/` [already uses it](rust-lang@9dd6eda); this PR switches `std` over.
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    e42a702 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#122360 - veera-sivarajan:bugfix-121941, r=c…

    …ompiler-errors
    
     Don't Create `ParamCandidate` When Obligation Contains Errors
    
    Fixes rust-lang#121941
    
    I'm not sure if I understand this correctly but this bug was caused by an error type incorrectly matching against `ParamCandidate`. This was introduced by the changes made in rust-lang#72621 (figured using cargo-bisect-rustc).
    
    This PR fixes it by skipping `ParamCandidate` generation when an error type is involved. Also, this is similar to rust-lang#73005 but addresses `ParamCandidate` instead of `ImplCandidate`.
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    5d13140 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#122383 - apiraino:enable-pr-tracking, r=jac…

    …kh726
    
    Enable PR tracking review assignment for rust-lang/rust
    
    This flag enables tracking pull requests review assignment to Rust contributors.
    
    The URL pointing to the documentation will become real once rust-lang/rust-forge#729 is merged
    
    r? ``@jackh726``
    
    cc: ``@Mark-Simulacrum``
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    a18a608 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#122386 - joboet:move_pal_once, r=jhpratt

    Move `Once` implementations to `sys`
    
    Part of rust-lang#117276.
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    dff680d View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#122400 - wutchzone:122345, r=fmease

    Fix ICE in diagnostics for parenthesized type arguments
    
    The second time is the charm 🤞 😁
    
    Fixes rust-lang#122345
    
    r? fmease
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    1ffa5de View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#122410 - rjeli:rustdoc-no-local-font-preloa…

    …d, r=notriddle
    
    rustdoc: do not preload fonts when browsing locally
    
    First PR, please let me know if I'm doing anything wrong.
    
    As noted in rust-lang#98769, currently `cargo doc --open` on macOS/Safari (17.2.1) doesn't load fonts due to a CORS issue. (webkit issue [here](https://bugs.webkit.org/show_bug.cgi?id=249887)). This patch moves the font preloads inside a js if statement as suggested in the GitHub issue.
    
    I tried something more elegant with iterating over a tera array of fonts, but ran into issues, so here's the dumb fix. Only thing to note is that the font path is interpolated into a template string, so HTML escaping works fine, but it will break if there's a backtick or `${` in the font path. Not sure if this is a big deal.
    matthiaskrgr committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    62e9e46 View commit details
    Browse the repository at this point in the history