pub unsafe trait Ternary<T>: Results<T, 3> + Sync {
// Required methods
fn one(&self, x: T, y: T, z: T) -> Self::Out;
fn judged(&self, x: T, y: T, z: T) -> (Self::Out, bool);
fn slice(
&self,
args: [Arg<'_, T>; 3],
n: usize,
out: &mut [MaybeUninit<Self::Out>],
) -> bool;
// Provided methods
fn checked(&self, x: T, y: T, z: T) -> Option<Self::Out> { ... }
fn many(
&self,
x: Arg<'_, T>,
y: Arg<'_, T>,
z: Arg<'_, T>,
n: usize,
out: &mut Vec<Self::Out>,
) -> bool
where T: Copy + Sync { ... }
fn many_into(
&self,
x: Arg<'_, T>,
y: Arg<'_, T>,
z: Arg<'_, T>,
n: usize,
out: &mut Slots<'_, Self::Out>,
) -> bool
where T: Copy { ... }
}Expand description
Required Methods§
fn one(&self, x: T, y: T, z: T) -> Self::Out
fn judged(&self, x: T, y: T, z: T) -> (Self::Out, bool)
fn slice( &self, args: [Arg<'_, T>; 3], n: usize, out: &mut [MaybeUninit<Self::Out>], ) -> bool
Provided Methods§
fn checked(&self, x: T, y: T, z: T) -> Option<Self::Out>
fn many( &self, x: Arg<'_, T>, y: Arg<'_, T>, z: Arg<'_, T>, n: usize, out: &mut Vec<Self::Out>, ) -> bool
fn many_into(
&self,
x: Arg<'_, T>,
y: Arg<'_, T>,
z: Arg<'_, T>,
n: usize,
out: &mut Slots<'_, Self::Out>,
) -> boolwhere
T: Copy,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".