Skip to content

Commit

Permalink
Add generic parameters mismatch test for async in traits
Browse files Browse the repository at this point in the history
  • Loading branch information
spastorino committed Mar 17, 2023
1 parent c7cc1c7 commit ae7fa1d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tests/ui/async-await/in-trait/generics-mismatch.rs
Original file line number Diff line number Diff line change
@@ -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() {}
16 changes: 16 additions & 0 deletions tests/ui/async-await/in-trait/generics-mismatch.stderr
Original file line number Diff line number Diff line change
@@ -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`.

0 comments on commit ae7fa1d

Please sign in to comment.