blob: 46cb62751717391d7f6f3b1d1a075131413d9758 [file] [log] [blame]
#![feature(fn_traits)]
#![feature(adt_const_params, unsized_const_params)]
//~^ WARNING the feature `unsized_const_params` is incomplete
#[derive(PartialEq, Eq)]
struct CompileTimeSettings {
hooks: &'static [fn()],
}
struct Foo<const T: CompileTimeSettings>;
//~^ ERROR `CompileTimeSettings` must implement `ConstParamTy` to be used as the type of a const generic parameter
impl<const T: CompileTimeSettings> Foo<T> {
//~^ ERROR `CompileTimeSettings` must implement `ConstParamTy` to be used as the type of a const generic parameter
fn call_hooks() {}
}
fn main() {
const SETTINGS: CompileTimeSettings = CompileTimeSettings { hooks: &[] };
Foo::<SETTINGS>::call_hooks();
}