pub trait VersionedSurface: 'static {
type Sig: Send + Sync + 'static;
type Provider: ?Sized + Send + Sync + 'static;
const KIND: SurfaceKind;
// Required method
fn discriminator(sig: &Self::Sig) -> Discriminator;
}Expand description
Versioned family: DashMap<QName, Vec<Arc<Entry<K, Sig, P>>>>.
Multiple registrations may share one qname, distinguished by a
Discriminator. Only member today: Procedure (arity overload).
Required Associated Constants§
Sourceconst KIND: SurfaceKind
const KIND: SurfaceKind
Surface discriminant.
Required Associated Types§
Required Methods§
Sourcefn discriminator(sig: &Self::Sig) -> Discriminator
fn discriminator(sig: &Self::Sig) -> Discriminator
Extract the per-overload discriminator from a signature so the registry can de-duplicate within one qname.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".