summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/refs_check_const_eq-issue-88384.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/refs_check_const_eq-issue-88384.rs')
-rw-r--r--src/test/ui/consts/refs_check_const_eq-issue-88384.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/consts/refs_check_const_eq-issue-88384.rs b/src/test/ui/consts/refs_check_const_eq-issue-88384.rs
new file mode 100644
index 000000000..1496b28bd
--- /dev/null
+++ b/src/test/ui/consts/refs_check_const_eq-issue-88384.rs
@@ -0,0 +1,25 @@
+#![feature(fn_traits)]
+#![feature(adt_const_params)]
+//~^ WARNING the feature `adt_const_params` is incomplete
+
+#[derive(PartialEq, Eq)]
+struct CompileTimeSettings{
+ hooks: &'static[fn()],
+}
+
+struct Foo<const T: CompileTimeSettings>;
+//~^ ERROR using function pointers as const generic parameters is forbidden
+
+impl<const T: CompileTimeSettings> Foo<T> {
+ //~^ ERROR using function pointers as const generic parameters is forbidden
+ fn call_hooks(){
+ }
+}
+
+fn main(){
+ const SETTINGS: CompileTimeSettings = CompileTimeSettings{
+ hooks: &[],
+ };
+
+ Foo::<SETTINGS>::call_hooks();
+}