rust/tests/ui/type-alias-impl-trait
bors 6bf600bc98 Auto merge of #120019 - lcnr:fn-wf, r=BoxyUwU
fix fn/const items implied bounds and wf check (rebase)

A rebase of #104098, see that PR for discussion. This is pretty much entirely the work of `@aliemjay.` I received his permission for this rebase.

---

These are two distinct changes (edit: actually three, see below):
1. Wf-check all fn item args. This is a soundness fix.
Fixes #104005

2. Use implied bounds from impl header in borrowck of associated functions/consts. This strictly accepts more code and helps to mitigate the impact of other breaking changes.
Fixes #98852
Fixes #102611

The first is a breaking change and will likely have a big impact without the the second one. See the first commit for how it breaks libstd.

Landing the second one without the first will allow more incorrect code to pass. For example an exploit of #104005 would be as simple as:
```rust
use core::fmt::Display;

trait ExtendLt<Witness> {
    fn extend(self) -> Box<dyn Display>;
}

impl<T: Display> ExtendLt<&'static T> for T {
    fn extend(self) -> Box<dyn Display> {
        Box::new(self)
    }
}

fn main() {
    let val = (&String::new()).extend();
    println!("{val}");
}
```

The third change is to to check WF of user type annotations before normalizing them (fixes #104764, fixes #104763). It is mutually dependent on the second change above: an attempt to land it separately in #104746 caused several crater regressions that can all be mitigated by using the implied from the impl header. It is also necessary for the soundness of associated consts that use the implied bounds of impl header. See #104763 and how the third commit fixes the soundness issue in `tests/ui/wf/wf-associated-const.rs` that was introduces by the previous commit.

r? types
2024-01-17 02:35:06 +00:00
..
auxiliary Don't do intra-pass validation on MIR shims 2023-08-19 18:47:08 +00:00
argument-types.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
assoc-projection-ice.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
assoc-type-const.rs update use of feature flags 2023-12-14 15:22:37 +01:00
assoc-type-lifetime-unconstrained.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
assoc-type-lifetime-unconstrained.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
assoc-type-lifetime.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
associated-type-alias-impl-trait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
associated-type-impl-trait-lifetime.rs Use the opaque_types_defined_by query to cheaply check for whether a hidden type may be registered for an opaque type 2023-05-12 10:26:50 +00:00
auto-trait-leakage.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
auto-trait-leakage2.rs Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
auto-trait-leakage2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
auto-trait-leakage3.rs Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
auto-trait-leakage3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
bound_reduction.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
bound_reduction2.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
bound_reduction2.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
bounds-are-checked-2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
bounds-are-checked-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
bounds-are-checked.rs Convert a hard-warning about named static lifetimes into lint "unused_lifetimes" 2023-02-22 09:44:26 +08:00
bounds-are-checked.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
bounds-are-checked3.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
bounds-are-checked3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
bounds.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
broken_mir.rs Turns out opaque types can have hidden types registered during mir validation 2023-07-27 08:23:06 +00:00
closure_args.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
closure_args2.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
closure_parent_substs.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
closure_wf_outlives.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
closure_wf_outlives.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
closures_in_branches.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
closures_in_branches.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
coherence.rs Fix tests 2023-08-12 17:18:46 +00:00
coherence.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
coherence_cross_crate.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
coherence_cross_crate.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
coherence_different_hidden_ty.rs coherence: don't add hidden types for opaques 2023-05-30 12:40:35 +02:00
coherence_different_hidden_ty.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
coherence_generalization.rs Fix tests 2023-08-12 17:18:46 +00:00
collect_hidden_types.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
constrain_inputs.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
constrain_inputs.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
constrain_inputs_unsound.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
constrain_inputs_unsound.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
cross_crate_ice.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
cross_crate_ice2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
cross_inference.rs update use of feature flags 2023-12-14 15:22:37 +01:00
cross_inference_pattern_bug.rs Strip OpaqueCast during RevealAll. 2023-09-28 16:13:38 +00:00
cross_inference_pattern_bug_no_type.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
cross_inference_rpit.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
debug-ty-with-weak.rs Continue folding in query normalizer on weak aliases 2023-06-18 20:56:30 +00:00
declared_but_never_defined.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
declared_but_never_defined.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
declared_but_not_defined_in_scope.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
declared_but_not_defined_in_scope.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
defined-by-user-annotation.rs allow opaques to be defined by trait queries 2023-07-14 12:35:33 +00:00
defining-use-submodule.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
destructure_tait-ice-113594.rs Remove unnecessary generator-check, which also fixes the issue within async functions 2023-09-28 16:13:38 +00:00
destructure_tait-layout_of-ice-113594.rs Strip OpaqueCast during RevealAll. 2023-09-28 16:13:38 +00:00
destructuring.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
different_defining_uses.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
different_defining_uses.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
different_defining_uses_never_type-2.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
different_defining_uses_never_type-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
different_defining_uses_never_type-3.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
different_defining_uses_never_type-3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
different_defining_uses_never_type.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
different_defining_uses_never_type.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
different_defining_uses_never_type2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
different_defining_uses_never_type3.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
different_defining_uses_never_type3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
different_lifetimes_defining_uses.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
different_lifetimes_defining_uses.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
drop-shim-relates-opaque-issue-114375.rs Don't do intra-pass validation on MIR shims 2023-08-19 18:47:08 +00:00
duplicate-lifetimes-from-rpit-containing-tait.rs Ignore RPIT duplicated lifetimes in opaque_types_defined_by 2023-10-29 17:45:05 -04:00
duplicate-lifetimes-from-rpit-containing-tait2.rs Ignore RPIT duplicated lifetimes in opaque_types_defined_by 2023-10-29 17:45:05 -04:00
escaping-bound-var.rs Correctly deny late-bound lifetimes from parent in anon consts and TAITs 2023-09-05 20:20:55 +00:00
escaping-bound-var.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
fallback.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
fallback.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
field-types.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
future.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
future.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
generic_different_defining_uses.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_different_defining_uses.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
generic_duplicate_lifetime_param.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
generic_duplicate_lifetime_param.stderr Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
generic_duplicate_param_use.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
generic_duplicate_param_use.stderr Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
generic_duplicate_param_use2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
generic_duplicate_param_use3.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use3.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use4.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use4.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
generic_duplicate_param_use5.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use5.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use6.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use6.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use7.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use8.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use8.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use9.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use9.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_duplicate_param_use10.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_lifetime_param.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
generic_nondefining_use.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
generic_nondefining_use.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
generic_not_used.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_not_used.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generic_type_does_not_live_long_enough.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
generic_type_does_not_live_long_enough.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
generic_underconstrained.rs Work around the fact that check_mod_type_wf may spuriously return ErrorGuaranteed, even if that error is only emitted by check_modwitem_types 2023-10-25 12:04:54 +00:00
generic_underconstrained.stderr Reorder check_item_type diagnostics so they occur next to the corresponding check_well_formed diagnostics 2024-01-02 14:17:56 +00:00
generic_underconstrained2.rs Work around the fact that check_mod_type_wf may spuriously return ErrorGuaranteed, even if that error is only emitted by check_modwitem_types 2023-10-25 12:04:54 +00:00
generic_underconstrained2.stderr Reorder check_item_type diagnostics so they occur next to the corresponding check_well_formed diagnostics 2024-01-02 14:17:56 +00:00
hidden_behind_projection_behind_struct_field.rs Only walk the identity substituted version of struct fields 2023-06-22 15:51:20 +00:00
hidden_behind_projection_behind_struct_field.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
hidden_behind_struct_field.rs Only walk the identity substituted version of struct fields 2023-06-22 15:51:20 +00:00
hidden_behind_struct_field2.rs Only walk the identity substituted version of struct fields 2023-06-22 15:51:20 +00:00
hidden_type_mismatch.rs Double check that hidden types match the expected hidden type 2023-07-21 13:19:36 +00:00
hidden_type_mismatch.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
higher_kinded_params.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
higher_kinded_params2.rs Remove normalization from opaque_types_defined_by 2023-07-07 13:17:00 +00:00
higher_kinded_params2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
higher_kinded_params3.rs Remove normalization from opaque_types_defined_by 2023-07-07 13:17:00 +00:00
higher_kinded_params3.stderr Remove normalization from opaque_types_defined_by 2023-07-07 13:17:00 +00:00
impl-trait-in-type-alias-with-bad-substs.rs Don't substitute a GAT that has mismatched generics in OpaqueTypeCollector 2023-06-21 16:33:17 +00:00
impl-trait-in-type-alias-with-bad-substs.stderr Don't substitute a GAT that has mismatched generics in OpaqueTypeCollector 2023-06-21 16:33:17 +00:00
impl-with-unconstrained-param.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
impl-with-unconstrained-param.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
impl_for_weak_alias.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
impl_for_weak_alias.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
impl_trait_for_generic_tait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
impl_trait_for_same_tait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
impl_trait_for_same_tait.stderr Make things work by using the new solver 2023-10-23 23:35:27 +00:00
impl_trait_for_tait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
impl_trait_for_tait_bound.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
impl_trait_for_tait_bound.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
impl_trait_for_tait_bound2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
impl_trait_for_tait_bound2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
implied_bounds.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_bounds.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
implied_bounds2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_bounds3.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_bounds_closure.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_bounds_closure.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
implied_bounds_from_types.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_bounds_from_types.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
implied_lifetime_wf_check.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_lifetime_wf_check3.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
implied_lifetime_wf_check3.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
implied_lifetime_wf_check4_static.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
implied_lifetime_wf_check4_static.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
imply_bounds_from_bounds.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
imply_bounds_from_bounds_param.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
imply_bounds_from_bounds_param.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
incoherent-assoc-imp-trait.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
incoherent-assoc-imp-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
incomplete-inference.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
incomplete-inference.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
indirect-recursion-issue-112047.rs Only compute layout of opaque if coroutine is the cause of an opaque cycle 2024-01-08 20:30:24 +00:00
indirect-recursion-issue-112047.stderr Make cycle error more resilient to where it starts 2024-01-08 20:30:24 +00:00
inference-cycle.rs Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
inference-cycle.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
infinite-cycle-involving-weak.rs Don't super-fold types when we hit the recursion limit 2023-10-30 19:24:15 +00:00
infinite-cycle-involving-weak.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
invalid_impl_trait_in_assoc_ty.rs Require impl Trait in associated types to appear in method signatures 2023-05-12 10:24:03 +00:00
invalid_impl_trait_in_assoc_ty.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-52843-closure-constrain.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-52843-closure-constrain.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-52843.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-52843.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-53092-2.rs delay E0512 as a bug by checking the references_error 2023-01-17 09:20:15 -08:00
issue-53092-2.stderr Reorder check_item_type diagnostics so they occur next to the corresponding check_well_formed diagnostics 2024-01-02 14:17:56 +00:00
issue-53092.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-53092.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-53096.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-53096.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-53398-cyclic-types.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
issue-53598.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-53598.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-53678-coroutine-and-const-fn.rs Rename lots of files that had generator in their name 2023-10-20 21:14:02 +00:00
issue-55099-lifetime-inference.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-57188-associate-impl-capture.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-57611-trait-alias.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-57700.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-57700.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-57807-associated-type.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-57961.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-57961.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-58662-coroutine-with-lifetime.rs Rename lots of files that had generator in their name 2023-10-20 21:14:02 +00:00
issue-58662-simplified.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
issue-58887.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-58951-2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-58951.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-60371.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-60371.stderr Bless tests 2024-01-13 12:46:58 -05:00
issue-60407.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-60407.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-60564-working.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-60564.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-60564.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-60662.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-60662.stdout Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-62000-associate-impl-trait-lifetimes.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-63263-closure-return.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-63279.rs Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
issue-63279.stderr Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
issue-63355.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-63677-type-alias-coherence.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-65384.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-65384.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-65679-inst-opaque-ty-from-val-twice.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-65918.rs Unignore issue-65918 2023-04-15 15:23:32 -07:00
issue-66580-closure-coherence.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-67844-nested-opaque.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-68368-non-defining-use-2.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-68368-non-defining-use-2.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-68368-non-defining-use.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-68368-non-defining-use.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-69136-inner-lifetime-resolve-error.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
issue-69136-inner-lifetime-resolve-error.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-69136-inner-lifetime-resolve-ok.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-69323.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-70121.rs Remove normalization from opaque_types_defined_by 2023-07-07 13:17:00 +00:00
issue-70121.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-72793.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74244.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74244.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-74280.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74280.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-74761-2.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-74761-2.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74761.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-74761.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-76202-trait-impl-for-tait.rs update use of feature flags 2023-12-14 15:22:37 +01:00
issue-77179.rs Avoid follow up errors 2024-01-10 08:52:44 +00:00
issue-77179.stderr Avoid follow up errors 2024-01-10 08:52:44 +00:00
issue-78450.rs update use of feature flags 2023-12-14 15:22:37 +01:00
issue-84660-trait-impl-for-tait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-84660-unsoundness.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-84660-unsoundness.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-87455-static-lifetime-ice.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-89686.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
issue-89686.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-89952.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-90400-1.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-90400-1.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-90400-2.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
issue-90400-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-93411.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-94429.rs Rename Gen to Coro in tests 2023-10-20 21:14:02 +00:00
issue-94429.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-96572-unconstrained-mismatch.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-96572-unconstrained-mismatch.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-96572-unconstrained.rs Handle ty::Opaque correctly 2023-10-27 05:16:26 +02:00
issue-98604.rs Tweak E0271 wording 2023-01-30 21:51:35 +00:00
issue-98604.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-98608.rs Tweak E0271 wording 2023-01-30 21:51:35 +00:00
issue-98608.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-101750.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-104817.rs Don't treat closures from other crates as local 2023-01-19 11:29:40 +00:00
issue-104817.stock.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-109054.rs Add a regression test for #109054 2023-07-06 02:45:54 +09:00
issue-109054.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
match-unification.rs Make hidden type registration opt-in, so that each site can be reviewed on its own and we have the right defaults for trait solvers 2023-02-21 14:50:51 +00:00
missing_lifetime_bound.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
missing_lifetime_bound.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multi-error.rs Treat opaque types failing the signature defining scope check as defining, as we already errored and can hide subsequent errors this way. 2023-06-22 15:36:42 +00:00
multi-error.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple-def-uses-in-one-fn-infer.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
multiple-def-uses-in-one-fn-infer.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple-def-uses-in-one-fn-lifetimes.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
multiple-def-uses-in-one-fn-lifetimes.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple-def-uses-in-one-fn-pass.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
multiple-def-uses-in-one-fn.rs Wait until type_of to remap HIR opaques back to their defn params 2023-05-26 14:42:52 +00:00
multiple-def-uses-in-one-fn.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple-def-uses-in-one-fn2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
multiple-def-uses-in-one-fn2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple-def-uses-in-one-fn3.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
multiple-def-uses-in-one-fn3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
multiple_definitions.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
mututally-recursive-overflow.rs Detect cycle errors hidden by opaques during monomorphization 2023-09-13 17:35:44 +00:00
mututally-recursive-overflow.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested-impl-trait-in-tait.rs Hide foreign #[doc(hidden)] paths in import suggestions 2023-12-20 00:19:45 -05:00
nested-impl-trait-in-tait.stderr Hide foreign #[doc(hidden)] paths in import suggestions 2023-12-20 00:19:45 -05:00
nested-in-anon-const.rs Handle ForeignItem as TAIT scope. 2024-01-05 21:49:37 +00:00
nested-in-anon-const.stderr Rebase fallout. 2024-01-05 21:54:41 +00:00
nested-rpit-with-lifetimes.rs Double check that hidden types match the expected hidden type 2023-07-21 13:19:36 +00:00
nested-tait-hrtb.rs Paper over an accidental regression 2023-09-14 15:16:48 +00:00
nested-tait-hrtb.stderr Paper over an accidental regression 2023-09-14 15:16:48 +00:00
nested-tait-inference.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
nested-tait-inference.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested-tait-inference2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
nested-tait-inference2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested-tait-inference3.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
nested-tait-inference3.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
nested.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested_impl_trait_in_assoc_ty.rs Don't treat closures/coroutines as part of the public API 2023-10-30 13:46:44 +00:00
nested_in_closure.rs Treat closures as part of their parent 2023-07-07 13:17:00 +00:00
nested_inference_failure.rs Make sure the new solver agrees 2024-01-10 16:05:24 +00:00
nested_type_alias_impl_trait.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
nested_type_alias_impl_trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
never_reveal_concrete_type.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no_inferrable_concrete_type.rs delay E0512 as a bug by checking the references_error 2023-01-17 09:20:15 -08:00
no_inferrable_concrete_type.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
no_revealing_outside_defining_module.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no_revealing_outside_defining_module.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
non-defining-method.rs Treat opaque types failing the signature defining scope check as defining, as we already errored and can hide subsequent errors this way. 2023-06-22 15:36:42 +00:00
non-defining-method.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
normalize-alias-type.rs move subtyper change reveal_all 2023-10-05 18:56:30 +03:00
normalize-hidden-types.current.stderr instantiate hidden types in root universe 2023-06-24 13:00:15 +00:00
normalize-hidden-types.rs update use of feature flags 2023-12-14 15:22:37 +01:00
not-matching-trait-refs-isnt-defining.rs Additional test demonstrating check for full trait ref 2023-06-21 16:41:52 +00:00
not-matching-trait-refs-isnt-defining.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
not_a_defining_use.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
not_a_defining_use.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
not_well_formed.fixed Suggest trait bounds for used associated type on type param 2023-10-13 19:13:56 +00:00
not_well_formed.rs Suggest trait bounds for used associated type on type param 2023-10-13 19:13:56 +00:00
not_well_formed.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
obligation_ice.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
outlives-bound-var.rs add test for ICE fix 2023-01-19 15:31:59 +03:00
privacy.rs Replace old private-in-public diagnostic with type privacy lints 2023-08-02 13:40:28 +03:00
privacy.stderr Replace old private-in-public diagnostic with type privacy lints 2023-08-02 13:40:28 +03:00
recursive-fn-tait.rs Add test for 113326 2023-10-16 18:23:12 +00:00
recursive-fn-tait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
recursive-tait-conflicting-defn-2.rs Add additional test 2023-07-18 15:56:03 +00:00
recursive-tait-conflicting-defn-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
recursive-tait-conflicting-defn.rs Relax recursive opaque type check 2023-07-18 15:56:03 +00:00
recursive-tait-conflicting-defn.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
reveal_local.rs Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
reveal_local.stderr Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
rpit_tait_equality_in_canonical_query.current.stderr Don't consider delayed bugs for -Ztreat-err-as-bug. 2024-01-13 09:59:56 +11:00
rpit_tait_equality_in_canonical_query.rs Don't consider delayed bugs for -Ztreat-err-as-bug. 2024-01-13 09:59:56 +11:00
rpit_tait_equality_in_canonical_query_2.rs revert rust-lang/rust#114586 2023-10-18 06:19:04 +00:00
self-referential-2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
self-referential-2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
self-referential-3.rs Adjust the ignore-compare-mode-next-solver for hangs 2023-12-18 23:55:47 +00:00
self-referential-3.stderr Adjust the ignore-compare-mode-next-solver for hangs 2023-12-18 23:55:47 +00:00
self-referential-4.rs Adjust the ignore-compare-mode-next-solver for hangs 2023-12-18 23:55:47 +00:00
self-referential-4.stderr Adjust the ignore-compare-mode-next-solver for hangs 2023-12-18 23:55:47 +00:00
self-referential.rs Adjust the ignore-compare-mode-next-solver for hangs 2023-12-18 23:55:47 +00:00
self-referential.stderr Adjust the ignore-compare-mode-next-solver for hangs 2023-12-18 23:55:47 +00:00
self_implication.rs Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726" 2023-08-30 11:06:46 +00:00
static-const-types.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
structural-match-no-leak.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
structural-match-no-leak.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
structural-match.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
structural-match.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
tait-normalize.rs move subtyper change reveal_all 2023-10-05 18:56:30 +03:00
type-alias-impl-trait-assoc-dyn.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-assoc-impl-trait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-const.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-fn-type.rs Split note, fix const/static impl trait error 2024-01-07 18:00:03 +00:00
type-alias-impl-trait-fn-type.stderr Split note, fix const/static impl trait error 2024-01-07 18:00:03 +00:00
type-alias-impl-trait-fns.rs Add AliasKind::Weak for type aliases. 2023-06-16 19:39:48 +00:00
type-alias-impl-trait-sized.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-tuple.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-unconstrained-lifetime.rs Split out a separate feature gate for impl trait in associated types 2023-04-12 16:17:31 +00:00
type-alias-impl-trait-unconstrained-lifetime.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-alias-impl-trait-with-cycle-error.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-with-cycle-error.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-alias-impl-trait-with-cycle-error2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-with-cycle-error2.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-alias-impl-trait-with-no-traits.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait-with-no-traits.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-impl-trait2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-alias-nested-impl-trait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type_of_a_let.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
type_of_a_let.stderr Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
unbounded_opaque_type.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unconstrained-due-to-bad-pattern.rs Also consider TAIT to be uncomputable if the MIR body is tainted 2023-10-30 20:16:22 +00:00
unconstrained-due-to-bad-pattern.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unconstrained-impl-param.rs Fix tests 2023-08-12 17:18:46 +00:00
unconstrained-impl-param.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
under-binder.rs don't replace opaque types under binders with infer vars 2023-08-06 12:08:32 +00:00
under-binder.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
underconstrained_generic.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
underconstrained_generic.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
underconstrained_lifetime.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
underconstrained_lifetime.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unnameable_type.rs Test that we cannot use trait impl methods arguments as defining uses 2023-01-11 14:00:25 -08:00
unnameable_type.stderr Handle weak type aliases by immediately resolving them to their aliased type 2023-06-22 15:51:19 +00:00
unused_generic_param.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
variance.rs Correctly deny late-bound lifetimes from parent in anon consts and TAITs 2023-09-05 20:20:55 +00:00
variance.stderr Correctly deny late-bound lifetimes from parent in anon consts and TAITs 2023-09-05 20:20:55 +00:00
weird-return-types.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
wf-check-fn-def.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
wf-check-fn-def.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-check-fn-ptrs.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
wf-check-rpit-lifetimes.rs Stop using identity args for opaque type wf checks and instead load the args from the single use of a RPIT in its parent function's return type 2023-08-08 09:39:42 +00:00
wf-in-associated-type.fail.stderr update tests 2023-11-09 11:32:51 +01:00
wf-in-associated-type.rs update use of feature flags 2023-12-14 15:22:37 +01:00
wf-nested.fail.stderr borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
wf-nested.pass_sound.stderr borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
wf-nested.rs borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
wf_check_closures.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
wf_check_closures.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00