#![feature(adt_const_params, unsized_const_params)] #![allow(incomplete_features)] use std::marker::UnsizedConstParamTy; #[derive(Eq, PartialEq)] struct Foo(T); trait Other {} impl UnsizedConstParamTy for Foo where T: Other + UnsizedConstParamTy {} fn foo>() {} //~^ ERROR `Foo` must implement `ConstParamTy` to be used as the type of a const generic parameter //~| NOTE `u8` must implement `Other`, but it does not fn main() {}