use crate::{AtomValue, Readable, RecoilItem}; pub type Atom = fn(&mut AtomBuilder) -> T; impl Readable for Atom { fn load(&'static self) -> RecoilItem { todo!() // RecoilItem::Atom(self as *const _ as _) } } pub struct AtomBuilder { pub key: String, _never: std::marker::PhantomData, } impl AtomBuilder { pub fn new() -> Self { Self { key: "".to_string(), _never: std::marker::PhantomData {}, } } pub fn set_key(&mut self, _key: &'static str) {} }