Skip to content

Commit

Permalink
Rollup merge of #73236 - GuillaumeGomez:cleanup-e0666, r=Dylan-DPC
Browse files Browse the repository at this point in the history
Clean up E0666 explanation

r? @Dylan-DPC
  • Loading branch information
Dylan-DPC authored Jun 12, 2020
2 parents 6f9d453 + 9da3a7a commit b4cb12f
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions src/librustc_error_codes/error_codes/E0666.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
`impl Trait` types cannot appear nested in the
generic arguments of other `impl Trait` types.
`impl Trait` types cannot appear nested in the generic arguments of other
`impl Trait` types.

Example of erroneous code:
Erroneous code example:

```compile_fail,E0666
trait MyGenericTrait<T> {}
trait MyInnerTrait {}
fn foo(bar: impl MyGenericTrait<impl MyInnerTrait>) {}
fn foo(
bar: impl MyGenericTrait<impl MyInnerTrait>, // error!
) {}
```

Type parameters for `impl Trait` types must be
explicitly defined as named generic parameters:
Type parameters for `impl Trait` types must be explicitly defined as named
generic parameters:

```
trait MyGenericTrait<T> {}
trait MyInnerTrait {}
fn foo<T: MyInnerTrait>(bar: impl MyGenericTrait<T>) {}
fn foo<T: MyInnerTrait>(
bar: impl MyGenericTrait<T>, // ok!
) {}
```

0 comments on commit b4cb12f

Please sign in to comment.