diff options
Diffstat (limited to 'tests/ui/associated-type-bounds/return-type-notation/bad-inputs-and-output.rs')
-rw-r--r-- | tests/ui/associated-type-bounds/return-type-notation/bad-inputs-and-output.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/associated-type-bounds/return-type-notation/bad-inputs-and-output.rs b/tests/ui/associated-type-bounds/return-type-notation/bad-inputs-and-output.rs new file mode 100644 index 000000000..79cee5517 --- /dev/null +++ b/tests/ui/associated-type-bounds/return-type-notation/bad-inputs-and-output.rs @@ -0,0 +1,22 @@ +// edition: 2021 + +#![feature(return_type_notation, async_fn_in_trait)] +//~^ WARN the feature `return_type_notation` is incomplete +//~| WARN the feature `async_fn_in_trait` is incomplete + +trait Trait { + async fn method() {} +} + +fn foo<T: Trait<method(i32): Send>>() {} +//~^ ERROR argument types not allowed with return type notation +//~| ERROR associated type bounds are unstable + +fn bar<T: Trait<method() -> (): Send>>() {} +//~^ ERROR return type not allowed with return type notation +//~| ERROR associated type bounds are unstable + +fn baz<T: Trait<method(..): Send>>() {} +//~^ ERROR return type notation uses `()` instead of `(..)` for elided arguments + +fn main() {} |