#[non_exhaustive]pub enum ExprExtension {}Expand description
Expression-language extensions.
Expression-level extensions add or modify functions, operators, or
types beyond what the base revision provides. Today no such
extensions exist — the “EXPR” extension in openjd-model gates
whether the expression language is available at all, not which
functions are registered once it is available. This enum is therefore
defined as empty-but-#[non_exhaustive], reserving the API shape for
the first expr-level extension.
Empty non-exhaustive enums are legal Rust and correctly express “values may exist in the future, none exist today.”
Implementations§
Source§impl ExprExtension
impl ExprExtension
Sourcepub const ALL: &'static [ExprExtension]
pub const ALL: &'static [ExprExtension]
All extension variants, in a stable order. Used by
ExprProfile::latest to construct a profile with every
expression-level extension enabled.
When a new variant is added, include it here. With no variants today the slice is empty; the constant still provides the contract that downstream code can rely on.
Trait Implementations§
Source§impl Clone for ExprExtension
impl Clone for ExprExtension
Source§fn clone(&self) -> ExprExtension
fn clone(&self) -> ExprExtension
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExprExtension
impl Debug for ExprExtension
Source§impl Hash for ExprExtension
impl Hash for ExprExtension
Source§impl PartialEq for ExprExtension
impl PartialEq for ExprExtension
Source§fn eq(&self, other: &ExprExtension) -> bool
fn eq(&self, other: &ExprExtension) -> bool
self and other values to be equal, and is used by ==.impl Copy for ExprExtension
impl Eq for ExprExtension
impl StructuralPartialEq for ExprExtension
Auto Trait Implementations§
impl Freeze for ExprExtension
impl RefUnwindSafe for ExprExtension
impl Send for ExprExtension
impl Sync for ExprExtension
impl Unpin for ExprExtension
impl UnsafeUnpin for ExprExtension
impl UnwindSafe for ExprExtension
Blanket Implementations§
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
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more