use std::marker::PhantomData; use dos_uid_derive::UID; use interface::{Data, Update, Write}; struct Q(PhantomData); #[derive(UID)] #[uid(data = Q, port = 9999)] struct TU(PhantomData); struct Client {} impl Update for Client {} impl Write> for Client { fn write(&mut self) -> Option>> { None } } #[derive(UID)] #[alias(name = TU, client=Client, traits = Write)] struct TW(PhantomData); #[derive(UID)] enum W {} struct ClientW {} impl Update for ClientW {} impl Write> for ClientW { fn write(&mut self) -> Option>> { None } } #[derive(UID)] #[alias(name = W, client=ClientW, traits = Write)] enum WW {} fn main() {}