diff options
Diffstat (limited to 'tests/ui/fn/issue-80179.rs')
-rw-r--r-- | tests/ui/fn/issue-80179.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/fn/issue-80179.rs b/tests/ui/fn/issue-80179.rs new file mode 100644 index 000000000..35e39bebb --- /dev/null +++ b/tests/ui/fn/issue-80179.rs @@ -0,0 +1,27 @@ +// Functions with a type placeholder `_` as the return type should +// show a function pointer suggestion when given a function item +// and suggest how to return closures correctly from a function. +// This is a regression test of #80179 + +fn returns_i32() -> i32 { + 0 +} + +fn returns_fn_ptr() -> _ { +//~^ ERROR the placeholder `_` is not allowed within types on item signatures for return types [E0121] +//~| NOTE not allowed in type signatures +//~| HELP replace with the correct return type +//~| SUGGESTION fn() -> i32 + returns_i32 +} + +fn returns_closure() -> _ { +//~^ ERROR the placeholder `_` is not allowed within types on item signatures for return types [E0121] +//~| NOTE not allowed in type signatures +//~| HELP replace with an appropriate return type +//~| SUGGESTION impl Fn() -> i32 +//~| NOTE for more information on `Fn` traits and closure types + || 0 +} + +fn main() {} |