diff options
| author | Santiago Pastorino <spastorino@gmail.com> | 2023-03-16 20:41:24 -0300 |
|---|---|---|
| committer | Santiago Pastorino <spastorino@gmail.com> | 2023-03-17 15:45:57 -0300 |
| commit | ae7fa1d269a3346372562570da3c51625027097b (patch) | |
| tree | 23813af067638061a6d6aad6419fb4a3fb42aac9 | |
| parent | c7cc1c7442bc09e3c1a37f737790994c1084ad2a (diff) | |
| download | rust-ae7fa1d269a3346372562570da3c51625027097b.tar.gz rust-ae7fa1d269a3346372562570da3c51625027097b.zip | |
Add generic parameters mismatch test for async in traits
| -rw-r--r-- | tests/ui/async-await/in-trait/generics-mismatch.rs | 15 | ||||
| -rw-r--r-- | tests/ui/async-await/in-trait/generics-mismatch.stderr | 16 |
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/ui/async-await/in-trait/generics-mismatch.rs b/tests/ui/async-await/in-trait/generics-mismatch.rs new file mode 100644 index 00000000000..fc29783c0e3 --- /dev/null +++ b/tests/ui/async-await/in-trait/generics-mismatch.rs @@ -0,0 +1,15 @@ +// edition: 2021 + +#![feature(async_fn_in_trait)] +#![allow(incomplete_features)] + +trait Foo { + async fn foo<T>(); +} + +impl Foo for () { + async fn foo<const N: usize>() {} + //~^ ERROR: method `foo` has an incompatible generic parameter for trait `Foo` [E0053] +} + +fn main() {} diff --git a/tests/ui/async-await/in-trait/generics-mismatch.stderr b/tests/ui/async-await/in-trait/generics-mismatch.stderr new file mode 100644 index 00000000000..3518aa05cec --- /dev/null +++ b/tests/ui/async-await/in-trait/generics-mismatch.stderr @@ -0,0 +1,16 @@ +error[E0053]: method `foo` has an incompatible generic parameter for trait `Foo` + --> $DIR/generics-mismatch.rs:11:18 + | +LL | trait Foo { + | --- +LL | async fn foo<T>(); + | - expected type parameter +... +LL | impl Foo for () { + | --------------- +LL | async fn foo<const N: usize>() {} + | ^^^^^^^^^^^^^^ found const parameter of type `usize` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0053`. |
