pub trait StrongPotentialWell: PotentialWell {
type StrongWell<T>: StrongWell + Deref<Target = T> + KineticWell<Potential: PotentialWell<Well<T> = Self::StrongWell<T>>> + KineticWell<Potential = Self>;
}Expand description
PotentialWell that always yields StrongWells.
Unfortunately, without higher-kinded trait bounds (HKTBs) for generic associated types (GATs), we can’t make this into a proper trait alias, and it must be implemented manually.
Required Associated Types§
Sourcetype StrongWell<T>: StrongWell + Deref<Target = T> + KineticWell<Potential: PotentialWell<Well<T> = Self::StrongWell<T>>> + KineticWell<Potential = Self>
type StrongWell<T>: StrongWell + Deref<Target = T> + KineticWell<Potential: PotentialWell<Well<T> = Self::StrongWell<T>>> + KineticWell<Potential = Self>
Makes a well of a particular type.
This only acts to verify the trait, and is never used directly.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl StrongPotentialWell for Box<()>
Available on crate features alloc only.
impl StrongPotentialWell for Box<()>
Available on crate features
alloc only.type StrongWell<T> = Box<T>
Source§impl StrongPotentialWell for Rc<()>
Available on crate feature alloc only.
impl StrongPotentialWell for Rc<()>
Available on crate feature
alloc only.type StrongWell<T> = Rc<T>
Source§impl StrongPotentialWell for Arc<()>
Available on crate features alloc only.
impl StrongPotentialWell for Arc<()>
Available on crate features
alloc only.