use std::fmt::Display; use std::sync::Arc; pub struct AnyId(()); impl PartialEq for AnyId { fn eq(&self, _: &Self) -> bool { todo!() } } impl PartialEq for AnyId { fn eq(&self, _: &T) -> bool { todo!() } } impl From for AnyId { fn from(_: T) -> Self { todo!() } } pub trait Identifier: Display + 'static {} impl Identifier for T where T: PartialEq + Display + 'static {}