rust/tests/ui/trait-bounds
Matthias Krüger aa184c558f
Rollup merge of #122195 - jieyouxu:impl-return-note, r=fmease
Note that the caller chooses a type for type param

```
error[E0308]: mismatched types
  --> $DIR/return-impl-trait.rs:23:5
   |
LL | fn other_bounds<T>() -> T
   |                 -       -
   |                 |       |
   |                 |       expected `T` because of return type
   |                 |       help: consider using an impl return type: `impl Trait`
   |                 expected this type parameter
...
LL |     ()
   |     ^^ expected type parameter `T`, found `()`
   |
   = note: expected type parameter `T`
                   found unit type `()`
   = note: the caller chooses the type of T which can be different from ()
```

Tried to see if "expected this type parameter" can be replaced, but that goes all the way to `rustc_infer` so seems not worth the effort and can affect other diagnostics.

Revives #112088 and #104755.
2024-03-22 20:31:28 +01:00
..
apit-unsized.rs tweak suggestion for argument-position `impl ?Sized` 2023-06-15 12:00:57 +02:00
apit-unsized.stderr change `std::marker::Sized` to just `Sized` 2023-06-15 12:01:38 +02:00
argument-with-unnecessary-method-call.rs Detect when method call on argument could be removed to fulfill failed trait bound 2024-02-16 04:28:05 +00:00
argument-with-unnecessary-method-call.stderr Detect when method call on argument could be removed to fulfill failed trait bound 2024-02-16 04:28:05 +00:00
enum-unit-variant-trait-bound.rs Walk through full path in point_at_path_if_possible 2023-08-25 19:05:38 +00:00
enum-unit-variant-trait-bound.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
ice-unsized-struct-arg-issue-121612.rs Add missing regression tests 2024-03-09 12:01:19 +05:30
ice-unsized-struct-arg-issue-121612.stderr Add missing regression tests 2024-03-09 12:01:19 +05:30
ice-unsized-struct-arg-issue2-121424.rs Add missing regression tests 2024-03-09 12:01:19 +05:30
ice-unsized-struct-arg-issue2-121424.stderr Add missing regression tests 2024-03-09 12:01:19 +05:30
ice-unsized-tuple-const-issue-121443.rs Check that return type is WF in typeck 2024-03-06 16:51:17 +05:30
ice-unsized-tuple-const-issue-121443.stderr Check that return type is WF in typeck 2024-03-06 16:51:17 +05:30
impl-bound-with-references-error.rs Continue compilation after check_mod_type_wf errors 2024-02-14 11:00:30 +00:00
impl-bound-with-references-error.stderr Continue compilation after check_mod_type_wf errors 2024-02-14 11:00:30 +00:00
impl-derived-implicit-sized-bound-2.rs
impl-derived-implicit-sized-bound-2.stderr Use single label for method not found due to unmet bound 2024-01-26 20:47:19 +00:00
impl-derived-implicit-sized-bound.rs
impl-derived-implicit-sized-bound.stderr Use single label for method not found due to unmet bound 2024-01-26 20:47:19 +00:00
impl-missing-where-clause-lifetimes-from-trait.rs
impl-missing-where-clause-lifetimes-from-trait.stderr
issue-75961.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
issue-82038.rs diagnostics: add test case for trait bounds diagnostic 2023-09-07 11:36:23 -07:00
issue-82038.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-93008.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
issue-94680.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
issue-94999.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
issue-95640.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
issue-119530-sugg-from-fn.rs Suggest arry::from_fn for array initialization 2024-01-21 09:57:26 +08:00
issue-119530-sugg-from-fn.stderr Remove extra # from url 2024-01-24 00:41:45 +01:00
mismatch-fn-trait.rs
mismatch-fn-trait.stderr Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
restrict-assoc-type-of-generic-bound.fixed [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
restrict-assoc-type-of-generic-bound.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
restrict-assoc-type-of-generic-bound.stderr Note that type param is chosen by caller when suggesting return impl Trait 2024-03-16 23:20:42 +00:00
shadowed-path-in-trait-bound-suggestion.fixed [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
shadowed-path-in-trait-bound-suggestion.rs [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives 2024-02-16 20:02:50 +00:00
shadowed-path-in-trait-bound-suggestion.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
suggest-maybe-sized-bound.rs Fix suggestion span for ?Sized 2024-02-12 11:33:11 +09:00
suggest-maybe-sized-bound.stderr Fix suggestion span for ?Sized 2024-02-12 11:33:11 +09:00
super-assoc-mismatch.rs address review feedback 2024-03-04 21:06:52 +01:00
super-assoc-mismatch.stderr Provide structured suggestion for `#![feature(foo)]` 2024-03-18 16:08:58 +00:00
unsized-bound.rs
unsized-bound.stderr review comment: change wording 2024-02-01 03:31:03 +00:00