Enabled

Struct Enabled 

Source
#[non_exhaustive]
pub struct Enabled {}
Expand description

Token indicating that beta feature(s) are or can be enabled

When adding a new beta feature:

  • Put an instance of beta::Enabled in the appropriate piece of parsed template syntax, For example, in the SubstDetails along with the O:: markers.

  • When parsing, obtain the value from Enabled::new_for_syntax.

  • Add a test case to tests/minimal-ui/disabled.rs which omits the beta_deftly option, and therefore fails, thus demonstrating that the feature gate works as intended.

Implementations§

Source§

impl Enabled

Source

pub fn new_for_dd_option(_: Span) -> Result<Self>

If the cargo feature is enabled, return Ok(Enabled)

Used when parsing the beta_deftly template option.

Source

pub fn new_for_modules_feature(_: Span) -> Result<Self>

If the cargo feature is enabled, return Ok(Enabled)

Used for things that are inherently part of the modules feature, such as uses and define_derive_deftly_module!.

Source

pub fn new_for_imported_definitions() -> Result<Enabled, &'static (dyn Fn(Span) -> Error + 'static)>

If the cargo feature is enabled, return Some.

Used when parsing template text imported from modules.

The rule is that modules have their own beta_deftly option, and beta features are allowed in module text iff the module enabled them. The importing template doesn’t need to.

Source

pub fn new_for_syntax(span: Span) -> Result<Self>

If the beta_deftly template feature is enabled, return Ok(Enabled)

Used when parsing beta syntax, in templates.

Trait Implementations§

Source§

impl Clone for Enabled

Source§

fn clone(&self) -> Enabled

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Enabled

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Enabled

Source§

fn eq(&self, other: &Enabled) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Enabled

Source§

impl Eq for Enabled

Source§

impl StructuralPartialEq for Enabled

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.