rust/tests/ui/wf
Matthias Krüger 318466aec0
Rollup merge of #135866 - BoxyUwU:dont_pick_fnptr_nested_goals, r=lcnr
Don't pick `T: FnPtr` nested goals as the leaf goal in diagnostics for new solver

r? `@lcnr`

See `tests/ui/traits/next-solver/diagnostics/dont-pick-fnptr-bound-as-leaf.rs` for a minimized example of what code this affects the diagnostics off. The output of running nightly `-Znext-solver` on that test is the following:
```
error[E0277]: the trait bound `Foo: Trait` is not satisfied
  --> src/lib.rs:14:20
   |
14 |     requires_trait(Foo);
   |     -------------- ^^^ the trait `FnPtr` is not implemented for `Foo`
   |     |
   |     required by a bound introduced by this call
   |
note: required for `Foo` to implement `Trait`
  --> src/lib.rs:7:16
   |
7  | impl<T: FnPtr> Trait for T {}
   |         -----  ^^^^^     ^
   |         |
   |         unsatisfied trait bound introduced here
note: required by a bound in `requires_trait`
  --> src/lib.rs:11:22
   |
11 | fn requires_trait<T: Trait>(_: T) {}
   |                      ^^^^^ required by this bound in `requires_trait`
```

Part of rust-lang/trait-system-refactor-initiative#148
2025-01-22 19:29:43 +01:00
..
closure-wf.rs Add test 2024-04-25 10:51:54 -04:00
closure-wf.stderr Add test 2024-04-25 10:51:54 -04:00
conflicting-impls.rs Silence some follow-up errors on trait impls in case the trait has conflicting or otherwise incoherent impls 2024-04-09 10:23:58 +00:00
conflicting-impls.stderr Silence some follow-up errors on trait impls in case the trait has conflicting or otherwise incoherent impls 2024-04-09 10:23:58 +00:00
hir-wf-canonicalized.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
hir-wf-canonicalized.stderr improve pretty printing for trait objects 2024-02-07 16:09:46 +01:00
hir-wf-check-erase-regions.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
hir-wf-check-erase-regions.stderr Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
ice-hir-wf-check-anon-const-issue-122199.rs Dont create trait object if it has errors in it 2024-11-23 23:31:30 +00:00
ice-hir-wf-check-anon-const-issue-122199.stderr Dont create trait object if it has errors in it 2024-11-23 23:31:30 +00:00
ice-hir-wf-check-anon-const-issue-122989.rs Silence follow-up errors from lit_to_const 2024-12-06 10:50:20 +00:00
ice-hir-wf-check-anon-const-issue-122989.stderr Silence follow-up errors from lit_to_const 2024-12-06 10:50:20 +00:00
ice-hir-wf-issue-135341.rs remove unnecessary assertion for reference error 2025-01-17 15:41:05 +08:00
ice-hir-wf-issue-135341.stderr remove unnecessary assertion for reference error 2025-01-17 15:41:05 +08:00
ice-wf-missing-span-in-error-130012.rs Fix ICE caused by missing span in a region error 2024-09-09 12:27:36 +05:30
ice-wf-missing-span-in-error-130012.stderr Fix ICE caused by missing span in a region error 2024-09-09 12:27:36 +05:30
issue-48638.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-87495.rs Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
issue-87495.stderr Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
issue-95665.rs
issue-95665.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-96810.rs
issue-96810.stderr reword trait bound suggestion message to include the bounds 2024-12-07 21:26:20 +00:00
issue-103573.rs
issue-103573.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-110157.rs return ty::Error when equating ty::Error 2024-02-19 23:54:49 +00:00
issue-110157.stderr return ty::Error when equating ty::Error 2024-02-19 23:54:49 +00:00
unnormalized-projection-guides-inference.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
wf-array-elem-sized.rs
wf-array-elem-sized.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-associated-const.rs wf-check type annotations before normalization 2024-01-16 09:25:28 +01:00
wf-associated-const.stderr wf-check type annotations before normalization 2024-01-16 09:25:28 +01:00
wf-complex-assoc-type.rs
wf-complex-assoc-type.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-const-type.rs Check that return type is WF in typeck 2024-03-06 16:51:17 +05:30
wf-const-type.stderr Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
wf-convert-dyn-incompat-trait-obj-box.rs UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
wf-convert-dyn-incompat-trait-obj-box.stderr Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
wf-convert-dyn-incompat-trait-obj.rs UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
wf-convert-dyn-incompat-trait-obj.stderr Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
wf-dyn-incompat-trait-obj-match.rs Stop using the whole match expr span for an arm's obligation span 2024-10-27 22:48:03 +00:00
wf-dyn-incompat-trait-obj-match.stderr Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
wf-dyn-incompatible.rs UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
wf-dyn-incompatible.stderr Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
wf-enum-bound.rs
wf-enum-bound.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-enum-fields-struct-variant.rs
wf-enum-fields-struct-variant.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-enum-fields.rs
wf-enum-fields.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-fn-def-check-sig-1.rs rebase 2024-04-04 02:14:57 +01:00
wf-fn-def-check-sig-1.stderr rebase 2024-04-04 02:14:57 +01:00
wf-fn-def-check-sig-2.rs check FnDef return type for WF 2024-04-04 01:55:29 +01:00
wf-fn-def-check-sig-2.stderr rebase 2024-04-04 02:14:57 +01:00
wf-fn-where-clause.rs
wf-fn-where-clause.stderr Refactor dyn-compatibility error and suggestions 2025-01-22 09:20:57 -08:00
wf-foreign-fn-decl-ret.rs
wf-foreign-fn-decl-ret.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
wf-impl-associated-type-region.rs
wf-impl-associated-type-region.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-impl-associated-type-trait.rs
wf-impl-associated-type-trait.stderr reword trait bound suggestion message to include the bounds 2024-12-07 21:26:20 +00:00
wf-impl-self-type.rs
wf-impl-self-type.stderr On E0277 be clearer about implicit Sized bounds on type params and assoc types 2024-02-01 03:30:26 +00:00
wf-in-fn-arg.rs
wf-in-fn-arg.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-in-fn-ret.rs Continue compilation after check_mod_type_wf errors 2024-02-14 11:00:30 +00:00
wf-in-fn-ret.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-in-fn-type-arg.rs
wf-in-fn-type-arg.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-in-fn-type-ret.rs
wf-in-fn-type-ret.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-in-fn-type-static.rs
wf-in-fn-type-static.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
wf-in-fn-where-clause.rs
wf-in-fn-where-clause.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-in-foreign-fn-decls-issue-80468.rs Stop being so bail-y in candidate assembly 2024-11-21 01:35:34 +00:00
wf-in-foreign-fn-decls-issue-80468.stderr Stop being so bail-y in candidate assembly 2024-11-21 01:35:34 +00:00
wf-in-obj-type-static.rs
wf-in-obj-type-static.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-in-obj-type-trait.rs
wf-in-obj-type-trait.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-in-where-clause-static.current.stderr Enforce supertrait outlives obligations hold when confirming impl 2024-08-05 09:55:14 -04:00
wf-in-where-clause-static.next.stderr Enforce supertrait outlives obligations hold when confirming impl 2024-08-05 09:55:14 -04:00
wf-in-where-clause-static.rs Enforce supertrait outlives obligations hold when confirming impl 2024-08-05 09:55:14 -04:00
wf-inherent-impl-method-where-clause.rs
wf-inherent-impl-method-where-clause.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-inherent-impl-where-clause.rs
wf-inherent-impl-where-clause.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-misc-methods-issue-28609.rs
wf-misc-methods-issue-28609.stderr
wf-normalization-sized.next.stderr Report better WF obligation leaf obligations in new solver 2024-05-16 21:08:42 -04:00
wf-normalization-sized.rs Report better WF obligation leaf obligations in new solver 2024-05-16 21:08:42 -04:00
wf-outlives-ty-in-fn-or-trait.rs
wf-outlives-ty-in-fn-or-trait.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
wf-packed-on-proj-of-type-as-unimpl-trait.rs
wf-packed-on-proj-of-type-as-unimpl-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-static-method.rs borrowck: use implied bounds from impl header 2024-01-16 09:25:28 +01:00
wf-static-method.stderr borrowck: use implied bounds from impl header 2024-01-16 09:25:28 +01:00
wf-static-type.rs Check that return type is WF in typeck 2024-03-06 16:51:17 +05:30
wf-static-type.stderr Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
wf-struct-bound.rs
wf-struct-bound.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-struct-field.rs
wf-struct-field.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-trait-associated-type-bound.rs
wf-trait-associated-type-bound.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-trait-associated-type-region.rs
wf-trait-associated-type-region.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-trait-associated-type-trait.rs
wf-trait-associated-type-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-trait-bound.rs
wf-trait-bound.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
wf-trait-default-fn-arg.rs
wf-trait-default-fn-arg.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-trait-default-fn-ret.rs
wf-trait-default-fn-ret.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-trait-default-fn-where-clause.rs
wf-trait-default-fn-where-clause.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
wf-trait-fn-arg.current.stderr Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-arg.next.stderr Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-arg.rs Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-ret.current.stderr Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-ret.next.stderr Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-ret.rs Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-where-clause.current.stderr Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-where-clause.next.stderr Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-fn-where-clause.rs Don't pick T: FnPtr nested goals 2025-01-22 06:55:38 +00:00
wf-trait-superbound.rs
wf-trait-superbound.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00