pub enum FnVolatility {
Immutable,
Stable,
Volatile,
Modifying,
}Variants§
Immutable
Same arguments always produce the same result — safe anywhere.
Stable
Result is fixed within a single statement, but may vary between statements (session settings, current transaction time).
Volatile
Result may differ on every call (random(), uuidv7(),
clock_timestamp()). Wanted in a pointer default, almost always a
bug inside a filter predicate.
Modifying
Volatile and side-effecting — advancing or resetting a sequence. Never admissible in an expression the caller expects to be a pure predicate, since it would fire once per row.
Implementations§
Trait Implementations§
Source§impl Clone for FnVolatility
impl Clone for FnVolatility
impl Copy for FnVolatility
Source§impl Debug for FnVolatility
impl Debug for FnVolatility
impl Eq for FnVolatility
Source§impl PartialEq for FnVolatility
impl PartialEq for FnVolatility
impl StructuralPartialEq for FnVolatility
Auto Trait Implementations§
impl Freeze for FnVolatility
impl RefUnwindSafe for FnVolatility
impl Send for FnVolatility
impl Sync for FnVolatility
impl Unpin for FnVolatility
impl UnsafeUnpin for FnVolatility
impl UnwindSafe for FnVolatility
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.