Skip to main content

Edition

Enum Edition 

Source
#[repr(i32)]
pub enum Edition {
Show 13 variants EDITION_UNKNOWN = 0, EDITION_LEGACY = 900, EDITION_PROTO2 = 998, EDITION_PROTO3 = 999, EDITION_2023 = 1_000, EDITION_2024 = 1_001, EDITION_UNSTABLE = 9_999, EDITION_1_TEST_ONLY = 1, EDITION_2_TEST_ONLY = 2, EDITION_99997_TEST_ONLY = 99_997, EDITION_99998_TEST_ONLY = 99_998, EDITION_99999_TEST_ONLY = 99_999, EDITION_MAX = 2_147_483_647,
}
Expand description

The full set of known editions.

Variants§

§

EDITION_UNKNOWN = 0

A placeholder for an unknown edition value.

§

EDITION_LEGACY = 900

A placeholder edition for specifying default behaviors before a feature was first introduced. This is effectively an “infinite past”.

§

EDITION_PROTO2 = 998

Legacy syntax “editions”. These pre-date editions, but behave much like distinct editions. These can’t be used to specify the edition of proto files, but feature definitions must supply proto2/proto3 defaults for backwards compatibility.

§

EDITION_PROTO3 = 999

§

EDITION_2023 = 1_000

Editions that have been released. The specific values are arbitrary and should not be depended on, but they will always be time-ordered for easy comparison.

§

EDITION_2024 = 1_001

§

EDITION_UNSTABLE = 9_999

A placeholder edition for developing and testing unscheduled features.

§

EDITION_1_TEST_ONLY = 1

Placeholder editions for testing feature resolution. These should not be used or relied on outside of tests.

§

EDITION_2_TEST_ONLY = 2

§

EDITION_99997_TEST_ONLY = 99_997

§

EDITION_99998_TEST_ONLY = 99_998

§

EDITION_99999_TEST_ONLY = 99_999

§

EDITION_MAX = 2_147_483_647

Placeholder for specifying unbounded edition support. This should only ever be used by plugins that can expect to never require any changes to support a new edition.

Trait Implementations§

Source§

impl Clone for Edition

Source§

fn clone(&self) -> Edition

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Edition

Source§

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

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

impl Default for Edition

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Enumeration for Edition

Source§

fn from_i32(value: i32) -> Option<Self>

Convert from an i32 wire value to the enum. Read more
Source§

fn to_i32(&self) -> i32

Convert the enum to its i32 wire value.
Source§

fn proto_name(&self) -> &'static str

The name of this enum variant as it appears in the .proto file.
Source§

fn from_proto_name(name: &str) -> Option<Self>

Look up a variant by its protobuf name string. Read more
Source§

fn values() -> &'static [Self]

All known variants of this enum, in proto declaration order. Read more
Source§

impl Hash for Edition

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Edition

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Edition

Source§

impl Eq for Edition

Source§

impl StructuralPartialEq for Edition

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<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> 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.