pub enum Edition {
Edition2015,
Edition2018,
Edition2021,
Edition2024,
EditionFuture,
}
Expand description
The edition of the compiler. (See RFC 2052.)
Variants§
Edition2015
The 2015 edition
Edition2018
The 2018 edition
Edition2021
The 2021 edition
Edition2024
The 2024 edition
EditionFuture
The future edition - this variant will always exist and features associated with this edition can be moved to the next 20XX edition when it is established and it is confirmed that those features will be part of that edition.
This variant allows edition changes to be implemented before being assigned to a concrete edition - primarily when there are two different unstable behaviours that need tested across an edition boundary.
This edition will be permanently unstable and any features associated with this edition must also be behind a feature gate.
Implementations§
Source§impl Edition
impl Edition
pub fn lint_name(self) -> &'static str
pub fn is_stable(self) -> bool
Sourcepub fn is_rust_2015(self) -> bool
pub fn is_rust_2015(self) -> bool
Is this edition 2015?
Sourcepub fn at_least_rust_2018(self) -> bool
pub fn at_least_rust_2018(self) -> bool
Are we allowed to use features from the Rust 2018 edition?
Sourcepub fn at_least_rust_2021(self) -> bool
pub fn at_least_rust_2021(self) -> bool
Are we allowed to use features from the Rust 2021 edition?
Sourcepub fn at_least_rust_2024(self) -> bool
pub fn at_least_rust_2024(self) -> bool
Are we allowed to use features from the Rust 2024 edition?
Sourcepub fn at_least_edition_future(self) -> bool
pub fn at_least_edition_future(self) -> bool
Are we allowed to use features from the future edition?
Trait Implementations§
Source§impl<__D> Decodable<__D> for Editionwhere
__D: SpanDecoder,
impl<__D> Decodable<__D> for Editionwhere
__D: SpanDecoder,
Source§impl<__E> Encodable<__E> for Editionwhere
__E: SpanEncoder,
impl<__E> Encodable<__E> for Editionwhere
__E: SpanEncoder,
Source§impl<__CTX> HashStable<__CTX> for Editionwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for Editionwhere
__CTX: HashStableContext,
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Source§impl PartialOrd for Edition
impl PartialOrd for Edition
impl Copy for Edition
impl Eq for Edition
impl StructuralPartialEq for Edition
Auto Trait Implementations§
impl DynSend for Edition
impl DynSync for Edition
impl Freeze for Edition
impl RefUnwindSafe for Edition
impl Send for Edition
impl Sync for Edition
impl Unpin for Edition
impl UnwindSafe for Edition
Blanket Implementations§
§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
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> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Edition2015
: 0 bytesEdition2018
: 0 bytesEdition2021
: 0 bytesEdition2024
: 0 bytesEditionFuture
: 0 bytes