A non-structural-match type was used as the type of a const generic parameter. Erroneous code example: ```compile_fail,E0741 #![feature(adt_const_params)] struct A; struct B; // error! ``` 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`, `Eq`, and `ConstParamTy`: ``` #![feature(adt_const_params)] use std::marker::ConstParamTy; #[derive(PartialEq, Eq, ConstParamTy)] // We derive both traits here. struct A; struct B; // ok! ```