#[non_exhaustive]pub enum EvmVersion {
Show 14 variants
Homestead,
TangerineWhistle,
SpuriousDragon,
Byzantium,
Constantinople,
Petersburg,
Istanbul,
Berlin,
London,
Paris,
Shanghai,
Cancun,
Prague,
Osaka,
}Expand description
A version specifier of the EVM we want to compile to.
Defaults to the latest version deployed on Ethereum Mainnet at the time of compiler release.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Homestead
TangerineWhistle
SpuriousDragon
Byzantium
Constantinople
Petersburg
Istanbul
Berlin
London
Paris
Shanghai
Cancun
Prague
Osaka
Implementations§
Source§impl EvmVersion
impl EvmVersion
Source§impl EvmVersion
impl EvmVersion
pub fn supports_returndata(self) -> bool
pub fn has_static_call(self) -> bool
pub fn has_bitwise_shifting(self) -> bool
pub fn has_create2(self) -> bool
pub fn has_ext_code_hash(self) -> bool
pub fn has_chain_id(self) -> bool
pub fn has_self_balance(self) -> bool
pub fn has_base_fee(self) -> bool
pub fn has_blob_base_fee(self) -> bool
pub fn has_prev_randao(self) -> bool
pub fn has_push0(self) -> bool
Trait Implementations§
Source§impl Clone for EvmVersion
impl Clone for EvmVersion
Source§fn clone(&self) -> EvmVersion
fn clone(&self) -> EvmVersion
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EvmVersion
impl Debug for EvmVersion
Source§impl Default for EvmVersion
impl Default for EvmVersion
Source§fn default() -> EvmVersion
fn default() -> EvmVersion
Returns the “default value” for a type. Read more
Source§impl Display for EvmVersion
impl Display for EvmVersion
Source§impl<'_derivative_strum> From<&'_derivative_strum EvmVersion> for &'static str
impl<'_derivative_strum> From<&'_derivative_strum EvmVersion> for &'static str
Source§fn from(x: &'_derivative_strum EvmVersion) -> &'static str
fn from(x: &'_derivative_strum EvmVersion) -> &'static str
Converts to this type from the input type.
Source§impl From<EvmVersion> for &'static str
impl From<EvmVersion> for &'static str
Source§fn from(x: EvmVersion) -> &'static str
fn from(x: EvmVersion) -> &'static str
Converts to this type from the input type.
Source§impl FromStr for EvmVersion
impl FromStr for EvmVersion
Source§type Err = ParseError
type Err = ParseError
The associated error which can be returned from parsing.
Source§fn from_str(s: &str) -> Result<EvmVersion, <EvmVersion as FromStr>::Err>
fn from_str(s: &str) -> Result<EvmVersion, <EvmVersion as FromStr>::Err>
Parses a string
s to return a value of this type. Read moreSource§impl Hash for EvmVersion
impl Hash for EvmVersion
Source§impl IntoEnumIterator for EvmVersion
impl IntoEnumIterator for EvmVersion
type Iterator = EvmVersionIter
fn iter() -> EvmVersionIter ⓘ
Source§impl Ord for EvmVersion
impl Ord for EvmVersion
Source§fn cmp(&self, other: &EvmVersion) -> Ordering
fn cmp(&self, other: &EvmVersion) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for EvmVersion
impl PartialEq for EvmVersion
Source§impl PartialOrd for EvmVersion
impl PartialOrd for EvmVersion
Source§impl TryFrom<&str> for EvmVersion
impl TryFrom<&str> for EvmVersion
Source§type Error = ParseError
type Error = ParseError
The type returned in the event of a conversion error.
Source§fn try_from(s: &str) -> Result<EvmVersion, <EvmVersion as TryFrom<&str>>::Error>
fn try_from(s: &str) -> Result<EvmVersion, <EvmVersion as TryFrom<&str>>::Error>
Performs the conversion.
Source§impl ValueEnum for EvmVersion
impl ValueEnum for EvmVersion
Source§fn value_variants<'a>() -> &'a [EvmVersion]
fn value_variants<'a>() -> &'a [EvmVersion]
All possible argument values, in display order.
Source§fn to_possible_value(&self) -> Option<PossibleValue>
fn to_possible_value(&self) -> Option<PossibleValue>
The canonical argument value. Read more
Source§impl VariantNames for EvmVersion
impl VariantNames for EvmVersion
impl Copy for EvmVersion
impl Eq for EvmVersion
impl StructuralPartialEq for EvmVersion
Auto Trait Implementations§
impl Freeze for EvmVersion
impl RefUnwindSafe for EvmVersion
impl Send for EvmVersion
impl Sync for EvmVersion
impl Unpin for EvmVersion
impl UnwindSafe for EvmVersion
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
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<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<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
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
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 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> ⓘ
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