rust/compiler/rustc_hir_analysis/src
bors 7eef946fc0 Auto merge of #99943 - compiler-errors:tuple-trait, r=jackh726
Implement `std::marker::Tuple`, use it in `extern "rust-call"` and `Fn`-family traits

Implements rust-lang/compiler-team#537

I made a few opinionated decisions in this implementation, specifically:
1. Enforcing `extern "rust-call"` on fn items during wfcheck,
2. Enforcing this for all functions (not just ones that have bodies),
3. Gating this `Tuple` marker trait behind its own feature, instead of grouping it into (e.g.) `unboxed_closures`.

Still needing to be done:
1. Enforce that `extern "rust-call"` `fn`-ptrs are well-formed only if they have 1/2 args and the second one implements `Tuple`. (Doing this would fix ICE in #66696.)
2. Deny all explicit/user `impl`s of the `Tuple` trait, kinda like `Sized`.
3. Fixing `Tuple` trait built-in impl for chalk, so that chalkification tests are un-broken.

Open questions:
1. Does this need t-lang or t-libs signoff?

Fixes #99820
2022-11-06 17:48:33 +00:00
..
astconv Rollup merge of #103972 - oli-obk:unoptional, r=fee1-dead 2022-11-05 18:06:07 +01:00
check Adjust diagnostics, bless tests 2022-11-05 18:05:44 +00:00
coherence Rollup merge of #103915 - chenyukang:yukang/fix-103874, r=lcnr 2022-11-04 06:40:32 +01:00
collect Rollup merge of #103780 - compiler-errors:bound-closure-lifetimes, r=jackh726 2022-11-04 12:18:01 +01:00
impl_wf_check Fix compiler docs 2022-10-10 18:28:29 +02:00
outlives Rename some OwnerId fields. 2022-10-29 20:28:38 +11:00
structured_errors rustc_typeck to rustc_hir_analysis 2022-09-27 10:37:23 +02:00
variance Rename some OwnerId fields. 2022-10-29 20:28:38 +11:00
bounds.rs rustc_typeck to rustc_hir_analysis 2022-09-27 10:37:23 +02:00
check_unused.rs Rollup merge of #103618 - nnethercote:rename-OwnerId-fields, r=compiler-errors 2022-10-29 14:18:03 +02:00
collect.rs Simplify astconv item def id handling 2022-11-02 12:03:59 +00:00
constrained_generic_params.rs Fix compiler docs 2022-10-10 18:28:29 +02:00
errors.rs Rollup merge of #103575 - Xiretza:suggestions-style-attr, r=davidtwco 2022-11-01 20:00:38 -04:00
hir_wf_check.rs Rollup merge of #102829 - compiler-errors:rename-impl-item-kind, r=TaKO8Ki 2022-10-10 00:09:42 +09:00
impl_wf_check.rs Rename some OwnerId fields. 2022-10-29 20:28:38 +11:00
lib.rs Rollup merge of #97971 - Soveu:varargs, r=jackh726 2022-10-30 19:31:36 -07:00
structured_errors.rs rustc_typeck to rustc_hir_analysis 2022-09-27 10:37:23 +02:00