Enum Expression

Source
pub enum Expression {
Show 32 variants Ellipsis, None, True, False, Name(Name), Int(IntegerType), ImaginaryInt(IntegerType), Float(f64), ImaginaryFloat(f64), String(Vec<PyString>), Bytes(Vec<u8>), DictLiteral(Vec<DictItem>), SetLiteral(Vec<SetItem>), ListLiteral(Vec<SetItem>), TupleLiteral(Vec<SetItem>), DictComp(Box<DictItem>, Vec<ComprehensionChunk>), SetComp(Box<SetItem>, Vec<ComprehensionChunk>), ListComp(Box<SetItem>, Vec<ComprehensionChunk>), Generator(Box<SetItem>, Vec<ComprehensionChunk>), Await(Box<Expression>), Call(Box<Expression>, Vec<Argument>), Subscript(Box<Expression>, Vec<Subscript>), Attribute(Box<Expression>, Name), Uop(Uop, Box<Expression>), Bop(Bop, Box<Expression>, Box<Expression>), MultiBop(Box<Expression>, Vec<(Bop, Expression)>), Ternary(Box<Expression>, Box<Expression>, Box<Expression>), Yield(Vec<Expression>), YieldFrom(Box<Expression>), Star(Box<Expression>), Lambdef(UntypedArgsList, Box<Expression>), Named(Box<Expression>, Box<Expression>),
}
Expand description

The big thing: a Python expression.

Variants§

§

Ellipsis

§

None

§

True

§

False

§

Name(Name)

§

Int(IntegerType)

§

ImaginaryInt(IntegerType)

§

Float(f64)

§

ImaginaryFloat(f64)

§

String(Vec<PyString>)

§

Bytes(Vec<u8>)

§

DictLiteral(Vec<DictItem>)

§

SetLiteral(Vec<SetItem>)

§

ListLiteral(Vec<SetItem>)

§

TupleLiteral(Vec<SetItem>)

§

DictComp(Box<DictItem>, Vec<ComprehensionChunk>)

§

SetComp(Box<SetItem>, Vec<ComprehensionChunk>)

§

ListComp(Box<SetItem>, Vec<ComprehensionChunk>)

§

Generator(Box<SetItem>, Vec<ComprehensionChunk>)

§

Await(Box<Expression>)

§

Call(Box<Expression>, Vec<Argument>)

§

Subscript(Box<Expression>, Vec<Subscript>)

§

Attribute(Box<Expression>, Name)

foo.bar

§

Uop(Uop, Box<Expression>)

Unary operator

§

Bop(Bop, Box<Expression>, Box<Expression>)

Binary operator. A simplified version of MultiBop, when the expressivity of MultiBop is not needed.

§

MultiBop(Box<Expression>, Vec<(Bop, Expression)>)

Binary operator… but may be applied on more than one expr (eg. a <= b < c)

§

Ternary(Box<Expression>, Box<Expression>, Box<Expression>)

1 if 2 else 3

§

Yield(Vec<Expression>)

§

YieldFrom(Box<Expression>)

§

Star(Box<Expression>)

§

Lambdef(UntypedArgsList, Box<Expression>)

§

Named(Box<Expression>, Box<Expression>)

Walrus operator: 1 := 2

Trait Implementations§

Source§

impl Clone for Expression

Source§

fn clone(&self) -> Expression

Returns a copy 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 Expression

Source§

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

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

impl PartialEq for Expression

Source§

fn eq(&self, other: &Expression) -> 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 StructuralPartialEq for Expression

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.