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

Merged
merged 23 commits into from
Oct 31, 2024
Merged

Rollup of 5 pull requests #132371

merged 23 commits into from
Oct 31, 2024

Commits on Oct 27, 2024

  1. rustdoc: make doctest span tweak a 2024 edition change

    Fixes rust-lang#132203
    
    This is a compatibility hack, because I think the new behavior is better.
    When an A `include_str!` B, and B `include_str!` C, the path to C should
    be resolved relative to B, not A. That's how `include!` itself works,
    so that's how `include_str!` with should work.
    notriddle committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    1819b4f View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2024

  1. force-recompile library changes on download-rustc="if-unchanged"

    This makes download-rustc="if-unchanged" more functional and useful
    for library developers.
    
    Signed-off-by: onur-ozkan <work@onurozkan.dev>
    onur-ozkan committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    5cf6b8b View commit details
    Browse the repository at this point in the history
  2. update download-rustc doc in config.example.toml

    Signed-off-by: onur-ozkan <work@onurozkan.dev>
    onur-ozkan committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    7e064e7 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2024

  1. compiler: rustc_abi::Abi => BackendRepr

    The initial naming of "Abi" was an awful mistake, conveying wrong ideas
    about how psABIs worked and even more about what the enum meant.
    It was only meant to represent the way the value would be described to
    a codegen backend as it was lowered to that intermediate representation.
    It was never meant to mean anything about the actual psABI handling!
    The conflation is because LLVM typically will associate a certain form
    with a certain ABI, but even that does not hold when the special cases
    that actually exist arise, plus the IR annotations that modify the ABI.
    
    Reframe `rustc_abi::Abi` as the `BackendRepr` of the type, and rename
    `BackendRepr::Aggregate` as `BackendRepr::Memory`. Unfortunately, due to
    the persistent misunderstandings, this too is now incorrect:
    - Scattered ABI-relevant code is entangled with BackendRepr
    - We do not always pre-compute a correct BackendRepr that reflects how
      we "actually" want this value to be handled, so we leave the backend
      interface to also inject various special-cases here
    - In some cases `BackendRepr::Memory` is a "real" aggregate, but in
      others it is in fact using memory, and in some cases it is a scalar!
    
    Our rustc-to-backend lowering code handles this sort of thing right now.
    That will eventually be addressed by lifting duplicated lowering code
    to either rustc_codegen_ssa or rustc_target as appropriate.
    workingjubilee committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    7086dd8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6d5d8b5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0349209 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3059ed8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    11f9217 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. tests: cross-compile multi-platform ZST ABI tests

    This allows them to be blessed, regardless of platform.
    workingjubilee committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    0b9d1eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    083a362 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b6e1214 View commit details
    Browse the repository at this point in the history
  4. Promote crashes tests to ui.

    cjgillot committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    d693e19 View commit details
    Browse the repository at this point in the history
  5. Adapt comments.

    cjgillot committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    d804ef8 View commit details
    Browse the repository at this point in the history
  6. Review comments.

    cjgillot committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    27c958f View commit details
    Browse the repository at this point in the history
  7. Promote test.

    cjgillot committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    8f6e0a6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2d74d8f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    802f3a7 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ac7de1a View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#129383 - cjgillot:opaque-noremap, r=compile…

    …r-errors,petrochenkov
    
    Remap impl-trait lifetimes on HIR instead of AST lowering
    
    Current AST->HIR lowering goes out of its way to remap lifetimes for opaque types. This is complicated and leaks into upstream and downstream code.
    
    This PR stops trying to be clever during lowering, and prefers to do this remapping during the HIR->ty lowering. The remapping computation easily fits into the bound var resolution code. Its result can be used in by `generics_of` and `hir_ty_lowering::new_opaque` to add the proper parameters and arguments.
    
    See an example on the doc for query `opaque_captured_lifetimes`.
    
    Based on rust-lang#129244
    
    Fixes rust-lang#125249
    Fixes rust-lang#126850
    
    cc `@compiler-errors` `@spastorino`
    r? `@petrochenkov`
    workingjubilee authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    6b60f03 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#132210 - notriddle:notriddle/doctest-span-h…

    …ack, r=GuillaumeGomez
    
    rustdoc: make doctest span tweak a 2024 edition change
    
    Fixes rust-lang#132203
    
    This is a compatibility hack, because I think the new behavior is better. When an A `include_str!` B, and B `include_str!` C, the path to C should be resolved relative to B, not A. That's how `include!` itself works, so that's how `include_str!` with should work.
    workingjubilee authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    62ba25d View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#132246 - workingjubilee:campaign-on-irform,…

    … r=compiler-errors
    
    Rename `rustc_abi::Abi` to `BackendRepr`
    
    Remove the confabulation of `rustc_abi::Abi` with what "ABI" actually means by renaming it to `BackendRepr`, and rename `Abi::Aggregate` to `BackendRepr::Memory`. The type never actually represented how things are passed, as that has to have `PassMode` considered, at minimum, but rather it just is how we represented some things to the backend. This conflation arose because LLVM, the primary backend at the time, would lower certain IR forms using certain ABIs. Even that only somewhat was true, as it broke down when one ventured significantly afield of what is described by the System V AMD64 ABI either by using different architectures, ABI-modifying IR annotations, the same architecture **with different ISA extensions enabled**, or other... unexpected delights.
    
    Unfortunately both names are still somewhat of a misnomer right now, as people have written code for years based on this misunderstanding. Still, their original names are even moreso, and for better or worse, this backend code hasn't received as much maintenance as the rest of the compiler, lately. Actually arriving at a correct end-state will simply require us to disentangle a lot of code in order to fix, much of it pointlessly repeated in several places. Thus this is not an "actual fix", just a way to deflect further misunderstandings.
    workingjubilee authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    847b6fe View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#132267 - onur-ozkan:rustc-if-unchanged-forc…

    …e-library, r=Kobzol
    
    force-recompile library changes on download-rustc="if-unchanged"
    
    This makes the download-rustc="if-unchanged" option more functional and useful for library developers.
    
    Implements the second item from [this tracking issue](rust-lang#131744).
    workingjubilee authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    f90abe7 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#132344 - compiler-errors:same-thing, r=lcnr

    Merge `HostPolarity` and `BoundConstness`
    
    They're basically the same thing, and I think `BoundConstness` is easier to use.
    
    r? fee1-dead or reassign
    workingjubilee authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    7b19508 View commit details
    Browse the repository at this point in the history