sea_query::expr

Enum SimpleExpr

source
pub enum SimpleExpr {
Show 14 variants Column(ColumnRef), Tuple(Vec<SimpleExpr>), Unary(UnOper, Box<SimpleExpr>), FunctionCall(FunctionCall), Binary(Box<SimpleExpr>, BinOper, Box<SimpleExpr>), SubQuery(Option<SubQueryOper>, Box<SubQueryStatement>), Value(Value), Values(Vec<Value>), Custom(String), CustomWithExpr(String, Vec<SimpleExpr>), Keyword(Keyword), AsEnum(DynIden, Box<SimpleExpr>), Case(Box<CaseStatement>), Constant(Value),
}
Expand description

Represents a Simple Expression in SQL.

SimpleExpr is a node in the expression tree and can represent identifiers, function calls, various operators and sub-queries.

Variantsยง

Implementationsยง

sourceยง

impl SimpleExpr

source

pub fn not(self) -> SimpleExpr

Negates an expression with NOT.

This is equivalent to a newer ExprTrait::not and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .column(Char::SizeW)
    .from(Char::Table)
    .and_where(Expr::col(Char::SizeW).eq(1).not())
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `size_w` FROM `character` WHERE NOT `size_w` = 1"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "size_w" FROM "character" WHERE NOT "size_w" = 1"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "size_w" FROM "character" WHERE NOT "size_w" = 1"#
);
source

pub fn and(self, right: SimpleExpr) -> Self

Express a logical AND operation.

ยงExamples
use sea_query::{*, tests_cfg::*};

let query = Query::select()
    .columns([Char::Character, Char::SizeW, Char::SizeH])
    .from(Char::Table)
    .cond_where(any![
        Expr::col(Char::SizeW).eq(1).and(Expr::col(Char::SizeH).eq(2)),
        Expr::col(Char::SizeW).eq(3).and(Expr::col(Char::SizeH).eq(4)),
    ])
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `character`, `size_w`, `size_h` FROM `character` WHERE (`size_w` = 1 AND `size_h` = 2) OR (`size_w` = 3 AND `size_h` = 4)"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE ("size_w" = 1 AND "size_h" = 2) OR ("size_w" = 3 AND "size_h" = 4)"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE ("size_w" = 1 AND "size_h" = 2) OR ("size_w" = 3 AND "size_h" = 4)"#
);
source

pub fn or(self, right: SimpleExpr) -> Self

Express a logical OR operation.

This is equivalent to a newer ExprTrait::or and may require more some wrapping beforehand.

ยงExamples
use sea_query::{*, tests_cfg::*};

let query = Query::select()
    .columns([Char::Character, Char::SizeW, Char::SizeH])
    .from(Char::Table)
    .and_where(Expr::col(Char::SizeW).eq(1).or(Expr::col(Char::SizeH).eq(2)))
    .and_where(Expr::col(Char::SizeW).eq(3).or(Expr::col(Char::SizeH).eq(4)))
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `character`, `size_w`, `size_h` FROM `character` WHERE (`size_w` = 1 OR `size_h` = 2) AND (`size_w` = 3 OR `size_h` = 4)"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE ("size_w" = 1 OR "size_h" = 2) AND ("size_w" = 3 OR "size_h" = 4)"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE ("size_w" = 1 OR "size_h" = 2) AND ("size_w" = 3 OR "size_h" = 4)"#
);
source

pub fn eq<V>(self, v: V) -> SimpleExpr
where V: Into<SimpleExpr>,

Express an equal (=) expression.

This is equivalent to a newer ExprTrait::eq and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .columns([Char::Character, Char::SizeW, Char::SizeH])
    .from(Char::Table)
    .and_where(Expr::value("What!").eq("Nothing"))
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `character`, `size_w`, `size_h` FROM `character` WHERE 'What!' = 'Nothing'"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE 'What!' = 'Nothing'"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE 'What!' = 'Nothing'"#
);
source

pub fn ne<V>(self, v: V) -> SimpleExpr
where V: Into<SimpleExpr>,

Express a not equal (<>) expression.

This is equivalent to a newer ExprTrait::ne and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .columns([Char::Character, Char::SizeW, Char::SizeH])
    .from(Char::Table)
    .and_where(Expr::value("Morning").ne("Good"))
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `character`, `size_w`, `size_h` FROM `character` WHERE 'Morning' <> 'Good'"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE 'Morning' <> 'Good'"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE 'Morning' <> 'Good'"#
);
source

pub fn add<T>(self, right: T) -> Self
where T: Into<SimpleExpr>,

Perform addition with another SimpleExpr.

This is equivalent to a newer ExprTrait::add and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(
        Expr::col(Char::SizeW)
            .max()
            .add(Expr::col(Char::SizeH).max()),
    )
    .from(Char::Table)
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT MAX(`size_w`) + MAX(`size_h`) FROM `character`"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT MAX("size_w") + MAX("size_h") FROM "character""#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT MAX("size_w") + MAX("size_h") FROM "character""#
);
source

pub fn mul<T>(self, right: T) -> Self
where T: Into<SimpleExpr>,

Perform multiplication with another SimpleExpr.

This is equivalent to a newer ExprTrait::mul and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(
        Expr::col(Char::SizeW)
            .max()
            .mul(Expr::col(Char::SizeH).max()),
    )
    .from(Char::Table)
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT MAX(`size_w`) * MAX(`size_h`) FROM `character`"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT MAX("size_w") * MAX("size_h") FROM "character""#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT MAX("size_w") * MAX("size_h") FROM "character""#
);
source

pub fn div<T>(self, right: T) -> Self
where T: Into<SimpleExpr>,

Perform division with another SimpleExpr.

This is equivalent to a newer ExprTrait::div and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(
        Expr::col(Char::SizeW)
            .max()
            .div(Expr::col(Char::SizeH).max()),
    )
    .from(Char::Table)
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT MAX(`size_w`) / MAX(`size_h`) FROM `character`"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT MAX("size_w") / MAX("size_h") FROM "character""#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT MAX("size_w") / MAX("size_h") FROM "character""#
);
source

pub fn sub<T>(self, right: T) -> Self
where T: Into<SimpleExpr>,

Perform subtraction with another SimpleExpr.

This is equivalent to a newer ExprTrait::sub and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(
        Expr::col(Char::SizeW)
            .max()
            .sub(Expr::col(Char::SizeW).min()),
    )
    .from(Char::Table)
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT MAX(`size_w`) - MIN(`size_w`) FROM `character`"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT MAX("size_w") - MIN("size_w") FROM "character""#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT MAX("size_w") - MIN("size_w") FROM "character""#
);
source

pub fn cast_as<T>(self, type_name: T) -> Self
where T: IntoIden,

Express a CAST AS expression.

This is equivalent to a newer ExprTrait::cast_as and may require more some wrapping beforehand.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(Expr::value("1").cast_as(Alias::new("integer")))
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT CAST('1' AS integer)"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT CAST('1' AS integer)"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT CAST('1' AS integer)"#
);
source

pub fn cast_as_quoted<T>(self, type_name: T, q: Quote) -> Self
where T: IntoIden,

Express a case-sensitive CAST AS expression.

ยงExamples
use sea_query::{tests_cfg::*, *};

let query = Query::select()
    .expr(Expr::value("1").cast_as_quoted(Alias::new("MyType"), '"'.into()))
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT CAST('1' AS "MyType")"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT CAST('1' AS "MyType")"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT CAST('1' AS "MyType")"#
);
source

pub fn binary<O, T>(self, op: O, right: T) -> Self
where O: Into<BinOper>, T: Into<SimpleExpr>,

Create any binary operation

This is equivalent to a newer ExprTrait::add and may require more some wrapping beforehand.

ยงExamples
use sea_query::{*, tests_cfg::*};

let query = Query::select()
    .columns([Char::Character, Char::SizeW, Char::SizeH])
    .from(Char::Table)
    .cond_where(all![
        Expr::value(10).binary(BinOper::SmallerThan, Expr::col(Char::SizeW)),
        Expr::value(20).binary(BinOper::GreaterThan, Expr::col(Char::SizeH))
    ])
    .to_owned();
assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `character`, `size_w`, `size_h` FROM `character` WHERE 10 < `size_w` AND 20 > `size_h`"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE 10 < "size_w" AND 20 > "size_h""#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE 10 < "size_w" AND 20 > "size_h""#
);
source

pub fn like<L: IntoLikeExpr>(self, like: L) -> Self

Express a LIKE expression.

This is equivalent to a newer ExprTrait::like and may require more some wrapping beforehand.

ยงExamples
use sea_query::{*, tests_cfg::*};

let query = Query::select()
    .columns([Char::Character, Char::SizeW, Char::SizeH])
    .from(Char::Table)
    .and_where(Expr::col((Char::Table, Char::FontId)).cast_as(Alias::new("TEXT")).like("a%"))
    .to_owned();

assert_eq!(
    query.to_string(MysqlQueryBuilder),
    r#"SELECT `character`, `size_w`, `size_h` FROM `character` WHERE CAST(`character`.`font_id` AS TEXT) LIKE 'a%'"#
);
assert_eq!(
    query.to_string(PostgresQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE CAST("character"."font_id" AS TEXT) LIKE 'a%'"#
);
assert_eq!(
    query.to_string(SqliteQueryBuilder),
    r#"SELECT "character", "size_w", "size_h" FROM "character" WHERE CAST("character"."font_id" AS TEXT) LIKE 'a%'"#
);
source

pub fn not_like<L: IntoLikeExpr>(self, like: L) -> Self

Express a NOT LIKE expression.

This is equivalent to a newer ExprTrait::not_like and may require more some wrapping beforehand.

Trait Implementationsยง

sourceยง

impl Clone for SimpleExpr

sourceยง

fn clone(&self) -> SimpleExpr

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 SimpleExpr

sourceยง

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

Formats the value using the given formatter. Read more
sourceยง

impl From<ColumnRef> for SimpleExpr

sourceยง

fn from(col: ColumnRef) -> Self

Converts to this type from the input type.
sourceยง

impl From<Expr> for SimpleExpr

sourceยง

fn from(src: Expr) -> Self

Convert into SimpleExpr

sourceยง

impl From<FunctionCall> for SimpleExpr

sourceยง

fn from(func: FunctionCall) -> Self

Converts to this type from the input type.
sourceยง

impl From<Keyword> for SimpleExpr

sourceยง

fn from(k: Keyword) -> Self

Converts to this type from the input type.
sourceยง

impl From<LikeExpr> for SimpleExpr

sourceยง

fn from(like: LikeExpr) -> Self

Converts to this type from the input type.
sourceยง

impl From<SimpleExpr> for ConditionExpression

sourceยง

fn from(condition: SimpleExpr) -> Self

Converts to this type from the input type.
sourceยง

impl<T> From<T> for SimpleExpr
where T: Into<Value>,

sourceยง

fn from(v: T) -> Self

Converts to this type from the input type.
sourceยง

impl Into<SimpleExpr> for CaseStatement

sourceยง

fn into(self) -> SimpleExpr

Converts this type into the (usually inferred) input type.
sourceยง

impl IntoCondition for SimpleExpr

sourceยง

impl PartialEq for SimpleExpr

sourceยง

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

Available on crate feature backend-postgres only.
sourceยง

fn concatenate<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an postgres concatenate (||) expression. Read more
sourceยง

fn concat<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

sourceยง

fn matches<T>(self, expr: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an postgres fulltext search matches (@@) expression. Read more
sourceยง

fn contains<T>(self, expr: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an postgres fulltext search contains (@>) expression. Read more
sourceยง

fn contained<T>(self, expr: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an postgres fulltext search contained (<@) expression. Read more
sourceยง

fn ilike<L>(self, like: L) -> SimpleExpr
where L: IntoLikeExpr,

Express a ILIKE expression. Read more
sourceยง

fn not_ilike<L>(self, like: L) -> SimpleExpr
where L: IntoLikeExpr,

Express a NOT ILIKE expression
sourceยง

fn get_json_field<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express a postgres retrieves JSON field as JSON value (->). Read more
sourceยง

fn cast_json_field<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express a postgres retrieves JSON field and casts it to an appropriate SQL type (->>). Read more
sourceยง

impl SqliteExpr for SimpleExpr

Available on crate feature backend-sqlite only.
sourceยง

fn glob<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an sqlite GLOB operator. Read more
sourceยง

fn matches<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an sqlite MATCH operator. Read more
sourceยง

fn get_json_field<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an sqlite retrieves JSON field as JSON value (->). Read more
sourceยง

fn cast_json_field<T>(self, right: T) -> SimpleExpr
where T: Into<SimpleExpr>,

Express an sqlite retrieves JSON field and casts it to an appropriate SQL type (->>). Read more
sourceยง

impl StructuralPartialEq for SimpleExpr

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, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
sourceยง

impl<T> ExprTrait for T
where T: Into<SimpleExpr>,

sourceยง

fn as_enum<N>(self, type_name: N) -> SimpleExpr
where N: IntoIden,

Express a AS enum expression. Read more
sourceยง

fn binary<O, R>(self, op: O, right: R) -> SimpleExpr
where O: Into<BinOper>, R: Into<SimpleExpr>,

Create any binary operation Read more
sourceยง

fn cast_as<N>(self, type_name: N) -> SimpleExpr
where N: IntoIden,

Express a CAST AS expression. Read more
sourceยง

fn unary(self, op: UnOper) -> SimpleExpr

Apply any unary operator to the expression. Read more
sourceยง

fn add<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express an arithmetic addition operation. Read more
sourceยง

fn and<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

sourceยง

fn between<A, B>(self, a: A, b: B) -> SimpleExpr
where A: Into<SimpleExpr>, B: Into<SimpleExpr>,

Express a BETWEEN expression. Read more
sourceยง

fn div<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express an arithmetic division operation. Read more
sourceยง

fn eq<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express an equal (=) expression. Read more
sourceยง

fn equals<C>(self, col: C) -> SimpleExpr
where C: IntoColumnRef,

Express a equal expression between two table columns, you will mainly use this to relate identical value between two table columns. Read more
sourceยง

fn gt<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a greater than (>) expression. Read more
sourceยง

fn gte<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a greater than or equal (>=) expression. Read more
sourceยง

fn in_subquery(self, sel: SelectStatement) -> SimpleExpr

Express a IN sub-query expression. Read more
sourceยง

fn in_tuples<V, I>(self, v: I) -> SimpleExpr
where V: IntoValueTuple, I: IntoIterator<Item = V>,

Express a IN sub expression. Read more
sourceยง

fn is<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a IS expression. Read more
sourceยง

fn is_in<V, I>(self, v: I) -> SimpleExpr
where V: Into<SimpleExpr>, I: IntoIterator<Item = V>,

Express a IN expression. Read more
sourceยง

fn is_not<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a IS NOT expression. Read more
sourceยง

fn is_not_in<V, I>(self, v: I) -> SimpleExpr
where V: Into<SimpleExpr>, I: IntoIterator<Item = V>,

Express a NOT IN expression. Read more
sourceยง

fn is_not_null(self) -> SimpleExpr

Express a IS NOT NULL expression. Read more
sourceยง

fn is_null(self) -> SimpleExpr

Express a IS NULL expression. Read more
sourceยง

fn left_shift<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a bitwise left shift. Read more
sourceยง

fn like<L>(self, like: L) -> SimpleExpr
where L: IntoLikeExpr,

Express a LIKE expression. Read more
sourceยง

fn lt<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a less than (<) expression. Read more
sourceยง

fn lte<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a less than or equal (<=) expression. Read more
sourceยง

fn modulo<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express an arithmetic modulo operation. Read more
sourceยง

fn mul<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express an arithmetic multiplication operation. Read more
sourceยง

fn ne<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a not equal (<>) expression. Read more
sourceยง

fn not(self) -> SimpleExpr

Negates an expression with NOT. Read more
sourceยง

fn not_between<A, B>(self, a: A, b: B) -> SimpleExpr
where A: Into<SimpleExpr>, B: Into<SimpleExpr>,

Express a NOT BETWEEN expression. Read more
sourceยง

fn not_equals<C>(self, col: C) -> SimpleExpr
where C: IntoColumnRef,

Express a not equal expression between two table columns, you will mainly use this to relate identical value between two table columns. Read more
sourceยง

fn not_in_subquery(self, sel: SelectStatement) -> SimpleExpr

Express a NOT IN sub-query expression. Read more
sourceยง

fn not_like<L>(self, like: L) -> SimpleExpr
where L: IntoLikeExpr,

Express a NOT LIKE expression. Read more
sourceยง

fn or<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a logical OR operation. Read more
sourceยง

fn right_shift<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express a bitwise right shift. Read more
sourceยง

fn sub<R>(self, right: R) -> SimpleExpr
where R: Into<SimpleExpr>,

Express an arithmetic subtraction operation. 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.