1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#![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();
}
|