Only `structural_match` types (that is, types that derive `PartialEq` and `Eq`)
may be used as the types of const generic parameters.

```compile_fail,E0741
#![feature(const_generics)]

struct A;

struct B<const X: A>; // error!
```

To fix this example, we derive `PartialEq` and `Eq`.

```
#![feature(const_generics)]

#[derive(PartialEq, Eq)]
struct A;

struct B<const X: A>; // ok!
```
