chiark / gitweb /
config derive: Use a define
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 19 Mar 2025 18:56:01 +0000 (18:56 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 20 Mar 2025 00:23:06 +0000 (00:23 +0000)
This abolishes the helper type.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/config_derive.rs

index aa42c9539ef85e5776aaebfd30c98eaa3e29cfe6..fd35ef1e9c127741c4408d8fd1ef547666a4f5a1 100644 (file)
@@ -65,12 +65,8 @@ define_derive_deftly! {
 
   InstanceConfig expect items:
 
-  struct InstanceConfigSKLs { $(
-    $fname: SectionKindList,
-  ) }
-  const FIELD_SKLS: InstanceConfigSKLs = InstanceConfigSKLs {
-    $(
-      $fname: ${if fmeta(skl) {
+  ${define FIELD_SKL {
+      ${if fmeta(skl) {
         ${fmeta(skl) as expr}
       } else {
         ${select1
@@ -81,15 +77,13 @@ define_derive_deftly! {
           fmeta( computed   ) { SKL::None      }
         }
       }}
-      ,
-    )
-  };
+  }}
 
   impl InstanceConfig {
     const FIELDS : & 'static [(& 'static str, SectionKindList)] = &[ $(
       (
         stringify!($fname),
-        FIELD_SKLS.$fname,
+        $FIELD_SKL,
       ),
     ) ];
 
@@ -111,7 +105,7 @@ define_derive_deftly! {
             }}
           (
             stringify!($fname), 
-            FIELD_SKLS.$fname,
+            $FIELD_SKL,
           )?,
         )
       }