chiark / gitweb /
W Const
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 16 May 2022 14:46:16 +0000 (15:46 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 16 May 2022 14:46:16 +0000 (15:46 +0100)
src/main.rs

index d8ea197254fb0aad75959f86a4becf30b6cf937e..f2af6beef2378ab3bc5e89dbb7ccc797fbaab5d6 100644 (file)
@@ -1,35 +1,14 @@
 #![allow(dead_code)]
 
-pub struct Microdesc;
-
-pub struct State {
-    change: Vec<Microdesc>,
-}
-
-pub enum NetDirChange<'a> {
-    AddMicrodescs(&'a mut Vec<Microdesc>),
+trait Ish {
+    const FIELDS: &'static [&'static str],
 }
 
-pub fn netdir_add_microdesc(_: Microdesc) { }
-
-impl State {
-    pub fn get_netdir_change(&mut self) -> Option<NetDirChange<'_>> {
-        Some(NetDirChange::AddMicrodescs(&mut self.change))
-    }
-}    
-
-pub fn apply_netdir_changes(mut state: State) {
-    if let Some(change) = state.get_netdir_change() {
-        match change {
-            NetDirChange::AddMicrodescs(mds) => {
-                for md in mds.drain(..) {
-                    netdir_add_microdesc(md);
-                }
-            }
-        }
-    }
+struct Inner { i: usize; }
+impl Ish for Inner {
+    const FIELDS: &'static [&'static str] = ["i"];
 }
 
-fn main() {
-    
+fn main(){
+    eprintln!("IF {:?}", Inner::FIELDS);
 }