//! Provide a memoized wrapper around collections for efficient updates. //! -------------------------------------------------------------------- //! use crate::{AtomValue, FamilyKey, Readable, RecoilItem}; #[allow(non_camel_case_types)] pub struct atom_family(pub fn(&mut AtomFamilyBuilder)); pub type AtomFamily = atom_family; // impl Readable for &'static AtomFamily { // fn load(&self) -> RecoilItem { // RecoilItem::Atom(*self as *const _ as _) // } // } pub struct AtomFamilyBuilder { _never: std::marker::PhantomData<(K, V)>, } impl atom_family { fn select(&'static self, key: &K) -> FamilySelected { todo!() } } struct FamilySelected {}