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 6 pull requests #128877

Closed
wants to merge 20 commits into from

Commits on Aug 6, 2024

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

Commits on Aug 8, 2024

  1. Add Steal::is_stolen()

    Nadrieril committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    09ae438 View commit details
    Browse the repository at this point in the history
  2. Tweak wording

    Co-authored-by: lcnr <rust@lcnr.de>
    Nadrieril and lcnr authored Aug 8, 2024
    Configuration menu
    Copy the full SHA
    c966370 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Configuration menu
    Copy the full SHA
    11b801b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a3f8edf View commit details
    Browse the repository at this point in the history
  3. fix format

    MinxuanZ committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    625432c View commit details
    Browse the repository at this point in the history
  4. delete space

    MinxuanZ committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    0106f5b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b589f86 View commit details
    Browse the repository at this point in the history
  6. hir_typeck: use end_point over BytePos manipulations

    Parser has error recovery for Unicode-confusables, which includes the
    right parentheses `)`. If a multi-byte right parentheses look-alike
    reaches the argument removal suggestion diagnostics, it would trigger an
    assertion because the diagnostics used `- BytePos(1)` which can land
    within a multi-byte codepoint.
    
    This is fixed by using `SourceMap::end_point` to find the final right
    delimiter codepoint, which correctly respects codepoint boundaries.
    jieyouxu committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    879bfd7 View commit details
    Browse the repository at this point in the history
  7. tests: add regression test for rust-lang#128845

    For codepoint boundary assertion triggered by a let stmt compound
    assignment removal suggestion when encountering recovered multi-byte
    compound ops.
    
    Issue: <rust-lang#128845>
    jieyouxu committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    92520a9 View commit details
    Browse the repository at this point in the history
  8. parser: ensure let stmt compound assignment removal suggestion respec…

    …t codepoint boundaries
    
    Previously we would try to issue a suggestion for `let x <op>= 1`, i.e.
    a compound assignment within a `let` binding, to remove the `<op>`. The
    suggestion code unfortunately incorrectly assumed that the `<op>` is an
    exactly-1-byte ASCII character, but this assumption is incorrect because
    we also recover Unicode-confusables like `➖=` as `-=`. In this example,
    the suggestion code used a `+ BytePos(1)` to calculate the span of the
    `<op>` codepoint that looks like `-` but the mult-byte Unicode
    look-alike would cause the suggested removal span to be inside a
    multi-byte codepoint boundary, triggering a codepoint boundary
    assertion.
    
    Issue: <rust-lang#128845>
    jieyouxu committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    d65f131 View commit details
    Browse the repository at this point in the history
  9. do not make function addresses unique with cross_crate_inline_thresho…

    …ld=always (even if that breaks backtraces)
    RalfJung committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    dec5b46 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f72cb04 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a380d5e View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#128742 - RalfJung:miri-vtable-uniqueness, r…

    …=saethlin
    
    miri: make vtable addresses not globally unique
    
    Miri currently gives vtables a unique global address. That's not actually matching reality though. So this PR enables Miri to generate different addresses for the same type-trait pair.
    
    To avoid generating an unbounded number of `AllocId` (and consuming unbounded amounts of memory), we use the "salt" technique that we also already use for giving constants non-unique addresses: the cache is keyed on a "salt" value n top of the actually relevant key, and Miri picks a random salt (currently in the range `0..16`) each time it needs to choose an `AllocId` for one of these globals -- that means we'll get up to 16 different addresses for each vtable. The salt scheme is integrated into the global allocation deduplication logic in `tcx`, and also used for functions and string literals. (So this also fixes the problem that casting the same function to a fn ptr over and over will consume unbounded memory.)
    
    r? `@saethlin`
    Fixes rust-lang/miri#3737
    matthiaskrgr authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    2d1398a View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#128815 - Nadrieril:is_stolen, r=jieyouxu,lcnr

    Add `Steal::is_stolen()`
    
    Writers of rustc drivers (such as myself) often encounter stealing issues. It is currently impossible to gracefully handle them. This PR adds a `Steal::is_stolen()` function for that purpose.
    matthiaskrgr authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    7e2048d View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#128859 - MinxuanZ:mips-sig, r=Amanieu

    Fix the name of signal 19 in library/std/src/sys/pal/unix/process/process_unix/tests.rs for mips/sparc linux
    
    relate to rust-lang#128816
    matthiaskrgr authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    0d8054a View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#128864 - jieyouxu:funnicode, r=Urgau

    Use `SourceMap::end_point` instead of `- BytePos(1)` in arg removal suggestion
    
    Previously, we tried to remove extra arg commas when providing extra arg removal suggestions. One of
    the edge cases is having to account for an arg that has a closing delimiter `)` following it.
    However, the previous suggestion code assumed that the delimiter is in fact exactly the 1-byte `)`
    character. This assumption was proven incorrect, because we recover from Unicode-confusable
    delimiters in the parser, which means that the ending delimiter could be a multi-byte codepoint
    that looks *like* a `)`. Subtracing 1 byte could land us in the middle of a codepoint, triggering a
    codepoint boundary assertion.
    
    This is fixed by using `SourceMap::end_point` which properly accounts for codepoint boundaries.
    
    Fixes rust-lang#128717.
    
    cc `@fmease` and rust-lang#128790
    matthiaskrgr authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    0e3801c View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#128865 - jieyouxu:unicurd, r=Urgau

    Ensure let stmt compound assignment removal suggestion respect codepoint boundaries
    
    Previously we would try to issue a suggestion for `let x <op>= 1`, i.e.
    a compound assignment within a `let` binding, to remove the `<op>`. The
    suggestion code unfortunately incorrectly assumed that the `<op>` is an
    exactly-1-byte ASCII character, but this assumption is incorrect because
    we also recover Unicode-confusables like `➖=` as `-=`. In this example,
    the suggestion code used a `+ BytePos(1)` to calculate the span of the
    `<op>` codepoint that looks like `-` but the mult-byte Unicode
    look-alike would cause the suggested removal span to be inside a
    multi-byte codepoint boundary, triggering a codepoint boundary
    assertion.
    
    The fix is to use `SourceMap::start_point(token_span)` which properly accounts for codepoint boundaries.
    
    Fixes rust-lang#128845.
    
    cc rust-lang#128790
    
    r? `@fmease`
    matthiaskrgr authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    024acdd View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#128874 - Kobzol:cmd-verbose-logging, r=onur…

    …-ozkan
    
    Disable verbose bootstrap command failure logging by default
    
    One of my recent bootstrap command refactoring PRs enabled verbose logging of command failures by default. While this is great for debugging bootstrap, in many situations it's just too verbose and prevents the user from seeing the actual printed stdout/stderr, which usually contains much more useful information.
    
    This PR reverts that logic, and only prints a detailed error when `-v` is passed to bootstrap.
    
    r? `@onur-ozkan`
    matthiaskrgr authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    6230296 View commit details
    Browse the repository at this point in the history