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 5 pull requests #117087

Merged
merged 15 commits into from
Oct 23, 2023
Merged

Rollup of 5 pull requests #117087

merged 15 commits into from
Oct 23, 2023

Commits on Oct 19, 2023

  1. Configuration menu
    Copy the full SHA
    8b76518 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c69bd94 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. Rewrite gdb pretty-printer registration

    Currently, the Rust pretty-printers are registered in gdb using the
    uninformative name "lookup":
    
        (gdb) info pretty-printer
        global pretty-printers:
        [...]
        objfile /home/tromey/[...]
          lookup
    
    It's nicer for users if the top-level registration is given a clear
    name.  Additionally, gdb lets users individually enable and disable
    specific printers, provided they are registered correctly.
    
    This patch implements both these ideas.  Now the output looks like:
    
        (gdb) info pretty-printer
        global pretty-printers:
        [...]
        objfile /home/tromey/[...]
          rust
    	StdArc
    	StdBTreeMap
    	StdBTreeSet
    	StdCell
    	StdHashMap
    	StdHashSet
    	StdNonZeroNumber
    	StdOsString
    	StdRc
    	StdRef
    	StdRefCell
    	StdRefMut
    	StdSlice
    	StdStr
    	StdString
    	StdVec
    	StdVecDeque
    tromey committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    e98beb5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fa45efa View commit details
    Browse the repository at this point in the history
  3. slight Default cleanup for option

    lqd committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    d9c213c View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2023

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

Commits on Oct 23, 2023

  1. Configuration menu
    Copy the full SHA
    f83f796 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    71b7322 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a6c2481 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#116960 - lqd:applied-member-constraints-sco…

    …pe, r=matthewjasper
    
    Location-insensitive polonius: consider a loan escaping if an SCC has member constraints applied only
    
    The location-insensitive analysis considered loans to escape if there were member constraints, which makes *some* sense for scopes and matches the scopes that NLL computes on all the tests.
    
    However, polonius and NLLs differ on the fuzzed case rust-lang#116657, where an SCC has member constraints but no applied ones (and is kinda surprising). The existing UI tests with member constraints impacting scopes all have some constraint applied.
    
    This PR changes the location-insensitive analysis to consider a loan to escape if there are applied member constraints, and for extra paranoia/insurance via fuzzing and crater: actually checks the constraint's min choice is indeed a universal region as we expect. (This could be turned into a `debug_assert` and early return as a slight optimization after these periods of verification)
    
    The 4 UI tests where member constraints are meaningful for computing scopes still pass obviously, and this also fixes rust-lang#116657.
    
    r? `@matthewjasper`
    matthiaskrgr authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    726709b View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#116978 - tromey:rust-printers-cleanup, r=Ma…

    …rk-Simulacrum
    
    Rewrite gdb pretty-printer registration
    
    Currently, the Rust pretty-printers are registered in gdb using the uninformative name "lookup":
    
        (gdb) info pretty-printer
        global pretty-printers:
        [...]
        objfile /home/tromey/[...]
          lookup
    
    It's nicer for users if the top-level registration is given a clear name.  Additionally, gdb lets users individually enable and disable specific printers, provided they are registered correctly.
    
    This patch implements both these ideas.  Now the output looks like:
    
        (gdb) info pretty-printer
        global pretty-printers:
        [...]
        objfile /home/tromey/[...]
          rust
    	StdArc
    	StdBTreeMap
    	StdBTreeSet
    	StdCell
    	StdHashMap
    	StdHashSet
    	StdNonZeroNumber
    	StdOsString
    	StdRc
    	StdRef
    	StdRefCell
    	StdRefMut
    	StdSlice
    	StdStr
    	StdString
    	StdVec
    	StdVecDeque
    matthiaskrgr authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    5f96976 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#117040 - Zalathar:instrument-coverage-ui, r…

    …=cjgillot
    
    coverage: Add UI tests for values accepted by `-Cinstrument-coverage`
    
    I wanted to clean up the code in `parse_instrument_coverage`, but it occurred to me that we currently don't have any UI tests for the various stable and unstable values supported by this flag.
    
    ---
    
    Normally it might be overkill to individually test all the different variants of `on`/`off`, but in this case the parsing of those values is mixed in with some other custom code, so I think it's worthwhile being thorough.
    matthiaskrgr authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    46d7038 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#117064 - dtolnay:handleerrors, r=cjgillot

    Eliminate rustc_attrs::builtin::handle_errors in favor of emitting errors directly
    
    Suggested in rust-lang#116773 (review).
    
    This `handle_errors` function is originally from rust-lang#34531, in which it was useful because it allowed error messages and error codes (`E0542`) for multiple occurrences of the same error to be centralized in one place. For example rather than repeating this diagnostic in 2 places:
    
    ```rust
    span_err!(diagnostic, attr.span, E0542, "missing 'since'");
    ```
    
    one could repeat this instead:
    
    ```rust
    handle_errors(diagnostic, attr.span, AttrError::MissingSince);
    ```
    
    ensuring that all "missing 'since'" errors always remained consistent in message and error code.
    
    Over time as error messages and error codes got factored to fluent diagnostics (rust-lang#100836), this rationale no longer applies. The new code has the same benefit while being less verbose (+73, -128).
    
    ```rust
    sess.emit_err(session_diagnostics::MissingSince { span: attr.span });
    ```
    
    r? `@cjgillot`
    matthiaskrgr authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    6814eb1 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#117073 - yotamofek:fix-coroutines-feature-r…

    …ename-suggestion, r=lqd
    
    Fix suggestion for renamed coroutines feature
    
    This fixes a small typo from rust-lang#116958
    matthiaskrgr authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    f4dfd8d View commit details
    Browse the repository at this point in the history