From 5ce1f6467f0949e86d4bf1b66b2c0e0920c2c2e5 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 16 May 2022 15:46:16 +0100 Subject: [PATCH] W Const --- src/main.rs | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/src/main.rs b/src/main.rs index d8ea197..f2af6be 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,35 +1,14 @@ #![allow(dead_code)] -pub struct Microdesc; - -pub struct State { - change: Vec, -} - -pub enum NetDirChange<'a> { - AddMicrodescs(&'a mut Vec), +trait Ish { + const FIELDS: &'static [&'static str], } -pub fn netdir_add_microdesc(_: Microdesc) { } - -impl State { - pub fn get_netdir_change(&mut self) -> Option> { - 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); } -- 2.30.2