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 8 pull requests #121011

Closed
wants to merge 28 commits into from
Closed

Commits on Jan 18, 2024

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

Commits on Feb 8, 2024

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

Commits on Feb 9, 2024

  1. Configuration menu
    Copy the full SHA
    9ddcbca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4d30eca View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2024

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

Commits on Feb 12, 2024

  1. Configuration menu
    Copy the full SHA
    0eee945 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    92281c7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    79daf61 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6c70bf6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    09fd556 View commit details
    Browse the repository at this point in the history
  6. support adding const generic params to intrinsics

    but right now all of them have zero const generic params
    oli-obk committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    0dac617 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    531505f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8549c0a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    55200e7 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    432635a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9a07437 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6b73fe2 View commit details
    Browse the repository at this point in the history
  13. Support safe intrinsics with fallback bodies

    Turn `is_val_statically_known` into such an intrinsic to demonstrate. It is perfectly safe to call after all.
    oli-obk committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    f35a2bd View commit details
    Browse the repository at this point in the history
  14. Add more tests

    oli-obk committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    164b9c3 View commit details
    Browse the repository at this point in the history
  15. Remove TypeErrCtxt::drop.

    The check within changed from `delay_span_bug` to `delay_good_path_bug`
    in rust-lang#110476, and removing the check altogether was considered. It's a
    very weak sanity check and gets in the way of removing good path delayed
    bugs altogether, so this PR just removes it.
    nnethercote committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    173dbc9 View commit details
    Browse the repository at this point in the history
  16. Remove good_path_delayed_bug.

    It's only has a single remaining purpose: to ensure that a diagnostic is
    printed when `trimmed_def_paths` is used. It's an annoying mechanism:
    weak, with odd semantics, badly named, and gets in the way of other
    changes.
    
    This commit replaces it with a simpler `must_produce_diag` mechanism,
    getting rid of a diagnostic `Level` along the way.
    nnethercote committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    9f2aa09 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Rollup merge of rust-lang#120092 - zetanumbers:pin_in_static_allocato…

    …r, r=Amanieu
    
    Add `A: 'static` bound for `Arc/Rc::pin_in`
    
    Analogous to rust-lang#79327
    Needed to preserve pin's [drop guarantee](https://doc.rust-lang.org/std/pin/index.html#drop-guarantee)
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    1b577bd View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#120486 - reitermarkus:use-generic-nonzero, …

    …r=dtolnay
    
    Use generic `NonZero` internally.
    
    Tracking issue: rust-lang#120257
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    c28066a View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#120500 - oli-obk:intrinsics2.0, r=WaffleLapkin

    Implement intrinsics with fallback bodies
    
    fixes rust-lang#93145 (though we can port many more intrinsics)
    cc rust-lang#63585
    
    The way this works is that the backend logic for generating custom code for intrinsics has been made fallible. The only failure path is "this intrinsic is unknown". The `Instance` (that was `InstanceDef::Intrinsic`) then gets converted to `InstanceDef::Item`, which represents the fallback body. A regular function call to that body is then codegenned. This is currently implemented for
    
    * codegen_ssa (so llvm and gcc)
    * codegen_cranelift
    
    other backends will need to adjust, but they can just keep doing what they were doing if they prefer (though adding new intrinsics to the compiler will then require them to implement them, instead of getting the fallback body).
    
    cc `@scottmcm` `@WaffleLapkin`
    
    ### todo
    
    * [ ] miri support
    * [x] default intrinsic name to name of function instead of requiring it to be specified in attribute
    * [x] make sure that the bodies are always available (must be collected for metadata)
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    60a1bdf View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#120530 - trevyn:issue-116434, r=compiler-er…

    …rors
    
    Be less confident when `dyn` suggestion is not checked for object safety
    
    rust-lang#120275 no longer checks bare traits for object safety when making a `dyn` suggestion on Rust < 2021. In this case, qualify the suggestion with a note that the trait must be object safe, to prevent user confusion as seen in rust-lang#116434
    
    r? `@fmease`
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    6e2c002 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#120563 - reitermarkus:generic-nonzero-get, …

    …r=dtolnay
    
    Make `NonZero::get` generic.
    
    Tracking issue: rust-lang#120257
    
    Depends on rust-lang#120521.
    
    r? `@dtolnay`
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    10a5d53 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#120847 - oli-obk:track_errors9, r=compiler-…

    …errors
    
    Continue compilation after check_mod_type_wf errors
    
    The ICEs fixed here were probably reachable through const eval gymnastics before, but now they are easily reachable without that, too.
    
    The new errors are often bugfixes, where useful errors were missing, because they were reported after the early abort. In other cases sometimes they are just duplication of already emitted errors, which won't be user-visible due to deduplication.
    
    fixes rust-lang#120860
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    4bbe53b View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#120959 - nnethercote:rm-good_path, r=oli-obk

    Remove good path delayed bugs
    
    Because they're not that useful, and kind of annoying. Details in the individual commits.
    
    r? `@compiler-errors`
    oli-obk committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    767518a View commit details
    Browse the repository at this point in the history