Implement custom diagnostic for ConstParamTy
This commit is contained in:
@@ -10,15 +10,19 @@ struct A;
|
||||
struct B<const X: A>; // error!
|
||||
```
|
||||
|
||||
Only structural-match types (that is, types that derive `PartialEq` and `Eq`)
|
||||
may be used as the types of const generic parameters.
|
||||
Only structural-match types, which are types that derive `PartialEq` and `Eq`
|
||||
and implement `ConstParamTy`, may be used as the types of const generic
|
||||
parameters.
|
||||
|
||||
To fix the previous code example, we derive `PartialEq` and `Eq`:
|
||||
To fix the previous code example, we derive `PartialEq`, `Eq`, and
|
||||
`ConstParamTy`:
|
||||
|
||||
```
|
||||
#![feature(adt_const_params)]
|
||||
|
||||
#[derive(PartialEq, Eq)] // We derive both traits here.
|
||||
use std::marker::ConstParamTy;
|
||||
|
||||
#[derive(PartialEq, Eq, ConstParamTy)] // We derive both traits here.
|
||||
struct A;
|
||||
|
||||
struct B<const X: A>; // ok!
|
||||
|
||||
Reference in New Issue
Block a user