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 7 pull requests #120088

Closed
wants to merge 17 commits into from

Commits on Jan 12, 2024

  1. Detect NulInCStr error earlier.

    By making it an `EscapeError` instead of a `LitError`. This makes it
    like the other errors produced when checking string literals contents,
    e.g. for invalid escape sequences or bare CR chars.
    
    NOTE: this means these errors are issued earlier, before expansion,
    which changes behaviour. It will be possible to move the check back to
    the later point if desired. If that happens, it's likely that all the
    string literal contents checks will be delayed together.
    
    One nice thing about this: the old approach had some code in
    `report_lit_error` to calculate the span of the nul char from a range.
    This code used a hardwired `+2` to account for the `c"` at the start of
    a C string literal, but this should have changed to a `+3` for raw C
    string literals to account for the `cr"`, which meant that the caret in
    `cr"` nul error messages was one short of where it should have been. The
    new approach doesn't need any of this and avoids the off-by-one error.
    nnethercote committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    9018d2c View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. Configuration menu
    Copy the full SHA
    290651b View commit details
    Browse the repository at this point in the history
  2. Remove tcx from SMIR run macro and accept closures

    Simplify the `run` macro to avoid sometimes unnecessary dependency
    on `TyCtxt`. Instead, users can use the new internal method `tcx()`.
    Additionally, extend the macro to accept closures that may capture
    variables.
    
    These are non-backward compatible changes, but they only affect
    internal APIs which are provided today as helper functions until we
    have a stable API to start the compiler.
    celinval committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    f91ccf9 View commit details
    Browse the repository at this point in the history
  3. Remove tcx function and make internal fn safer

    I added `tcx` argument to `internal` to force 'tcx to be the same
    lifetime as TyCtxt. The only other solution I could think is to change
    this function to be `unsafe`.
    celinval committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    2564811 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2024

  1. Configuration menu
    Copy the full SHA
    b82d1d3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1ec567b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f1ef930 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    eb8c1f8 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Configuration menu
    Copy the full SHA
    dcc13b2 View commit details
    Browse the repository at this point in the history
  2. Revert changes to internal method for now

    - Move fix to a separate PR
    celinval committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    6a573cb View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#119172 - nnethercote:earlier-NulInCStr, r=p…

    …etrochenkov
    
    Detect `NulInCStr` error earlier.
    
    By making it an `EscapeError` instead of a `LitError`. This makes it like the other errors produced when checking string literals contents, e.g. for invalid escape sequences or bare CR chars.
    
    NOTE: this means these errors are issued earlier, before expansion, which changes behaviour. It will be possible to move the check back to the later point if desired. If that happens, it's likely that all the string literal contents checks will be delayed together.
    
    One nice thing about this: the old approach had some code in `report_lit_error` to calculate the span of the nul char from a range. This code used a hardwired `+2` to account for the `c"` at the start of a C string literal, but this should have changed to a `+3` for raw C string literals to account for the `cr"`, which meant that the caret in `cr"` nul error messages was one short of where it should have been. The new approach doesn't need any of this and avoids the off-by-one error.
    
    r? ``@fee1-dead``
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    53d99e5 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#119833 - celinval:smir-accept-closures, r=o…

    …li-obk
    
    Make tcx optional from StableMIR run macro and extend it to accept closures
    
    Change `run` macro to avoid sometimes unnecessary dependency on `TyCtxt`, and introduce `run_with_tcx` to capture use cases where `tcx` is required. Additionally, extend both macros to accept closures that may capture variables.
    
    I've also modified the `internal()` method to make it safer, by accepting the type context to force the `'tcx` lifetime to match the context lifetime.
    
    These are non-backward compatible changes, but they only affect internal APIs which are provided today as helper functions until we have a stable API to start the compiler.
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    e985218 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#119955 - kamalesh0406:master, r=WaffleLapkin

    Modify GenericArg and Term structs to use strict provenance rules
    
    This is the first PR to solve issue rust-lang#119217 . In this PR, I have modified the GenericArg struct to use the `NonNull` struct as the pointer instead of `NonZeroUsize`. The change were tested by running `./x test compiler/rustc_middle`.
    
    Resolves rust-lang#119217
    
    r? ``@WaffleLapkin``
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    01b029c View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#120021 - lcnr:const-var-value, r=compiler-e…

    …rrors
    
    don't store const var origins for known vars
    
    r? types
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    38b1872 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#120038 - Zalathar:dump-path, r=WaffleLapkin

    Don't create a separate "basename" when naming and opening a MIR dump file
    
    These functions were split up by rust-lang#77080, in order to support passing the dump file's “basename” (filename without extension) to the implementation of `-Zdump-mir-spanview`, so that it could be used as a page title.
    
    That flag has since been removed (rust-lang#119566), so now there's no particular reason for this code to handle the basename separately from the filename or full path.
    
    This PR therefore restores things to (roughly) how they were before rust-lang#77080.
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    acf3ad7 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#120057 - oli-obk:not_sure_wtf_is_going_on, …

    …r=compiler-errors
    
    Don't ICE when deducing future output if other errors already occurred
    
    The situation can't really happen outside of erroneous code. What was interesting is that it ICEd before emitting any other diagnostics. This was because the other errors were silenced due to cycle_delay_bug cycle errors.
    
    r? ``@compiler-errors``
    
    fixes rust-lang#119890
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    b9235f1 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#120073 - spastorino:remove-spastorino-on-va…

    …cations, r=fmease
    
    Remove spastorino from users_on_vacation
    matthiaskrgr committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    15066d3 View commit details
    Browse the repository at this point in the history