pub struct Expr(/* private fields */);native and crate feature database only.Expand description
Expression builder for creating SQL expressions.
Expr provides static methods to create expressions and instance methods
to chain operations on them.
§Example
use reinhardt_query::Expr;
// Simple column reference
let col = Expr::col("name");
// Value expression
let val = Expr::val(42);
// Build complex expressions
let expr = Expr::col("age").gte(18).and(Expr::col("active").eq(true));Implementations§
Source§impl Expr
impl Expr
Sourcepub fn col<C>(col: C) -> Exprwhere
C: IntoColumnRef,
pub fn col<C>(col: C) -> Exprwhere
C: IntoColumnRef,
Create an expression from a column reference.
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::col("name");Sourcepub fn tbl<T, C>(table: T, col: C) -> Expr
pub fn tbl<T, C>(table: T, col: C) -> Expr
Create a table-qualified column expression.
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::tbl("users", "name");Sourcepub fn val<V>(val: V) -> Exprwhere
V: IntoValue,
pub fn val<V>(val: V) -> Exprwhere
V: IntoValue,
Create a value expression.
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::val(42);
let expr2 = Expr::val("hello");Sourcepub fn cust<S>(sql: S) -> Expr
pub fn cust<S>(sql: S) -> Expr
Create a custom SQL expression.
§Security Warning
DO NOT pass user input directly to this method. This method embeds the SQL string directly into the query without parameterization, which can lead to SQL injection vulnerabilities.
Use Expr::cust_with_values() for dynamic values instead.
§Examples
use reinhardt_query::expr::Expr;
// ✅ SAFE: Static SQL expression
let expr = Expr::cust("NOW()");
// ❌ UNSAFE: User input
// let expr = Expr::cust(&user_input);
// ✅ SAFE: Parameterized custom expression
// let expr = Expr::cust_with_values("? + ?", [user_input, other_value]);Sourcepub fn cust_with_values<S, I, V>(sql: S, values: I) -> Expr
pub fn cust_with_values<S, I, V>(sql: S, values: I) -> Expr
Create a custom SQL expression with value placeholders.
Use ? as placeholders for the values.
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::cust_with_values("? + ?", [1, 2]);Sourcepub fn tuple<I>(exprs: I) -> Exprwhere
I: IntoIterator<Item = Expr>,
pub fn tuple<I>(exprs: I) -> Exprwhere
I: IntoIterator<Item = Expr>,
Create a tuple expression.
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::tuple([Expr::val(1), Expr::val(2), Expr::val(3)]);Sourcepub fn asterisk() -> Expr
pub fn asterisk() -> Expr
Create an asterisk expression (*).
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::asterisk();Sourcepub fn subquery(select: SelectStatement) -> Expr
pub fn subquery(select: SelectStatement) -> Expr
Sourcepub fn exists(select: SelectStatement) -> Expr
pub fn exists(select: SelectStatement) -> Expr
Sourcepub fn not_exists(select: SelectStatement) -> Expr
pub fn not_exists(select: SelectStatement) -> Expr
Sourcepub fn in_subquery(self, select: SelectStatement) -> Expr
pub fn in_subquery(self, select: SelectStatement) -> Expr
Sourcepub fn not_in_subquery(self, select: SelectStatement) -> Expr
pub fn not_in_subquery(self, select: SelectStatement) -> Expr
Sourcepub fn case() -> CaseExprBuilder
pub fn case() -> CaseExprBuilder
Create a CASE expression.
§Example
use reinhardt_query::expr::{Expr, ExprTrait};
let case = Expr::case()
.when(Expr::col("status").eq("active"), "Active")
.when(Expr::col("status").eq("pending"), "Pending")
.else_result("Unknown");Sourcepub fn value<V>(val: V) -> Exprwhere
V: IntoValue,
pub fn value<V>(val: V) -> Exprwhere
V: IntoValue,
Create a value expression (alias for Expr::val).
Sourcepub fn constant_true() -> Expr
pub fn constant_true() -> Expr
Create a TRUE constant expression.
Sourcepub fn constant_false() -> Expr
pub fn constant_false() -> Expr
Create a FALSE constant expression.
Sourcepub fn current_timestamp() -> Expr
pub fn current_timestamp() -> Expr
Create a CURRENT_TIMESTAMP expression.
Sourcepub fn current_date() -> Expr
pub fn current_date() -> Expr
Create a CURRENT_DATE expression.
Sourcepub fn current_time() -> Expr
pub fn current_time() -> Expr
Create a CURRENT_TIME expression.
Sourcepub fn over(self, window: WindowStatement) -> SimpleExpr
pub fn over(self, window: WindowStatement) -> SimpleExpr
Apply a window specification to this expression.
This creates a window function call with an inline window specification.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![Expr::col("department_id").into_simple_expr()],
order_by: vec![],
frame: None,
};
let expr = Expr::row_number().over(window);Sourcepub fn over_named<T>(self, name: T) -> SimpleExprwhere
T: IntoIden,
pub fn over_named<T>(self, name: T) -> SimpleExprwhere
T: IntoIden,
Sourcepub fn row_number() -> Expr
pub fn row_number() -> Expr
Create a ROW_NUMBER() window function.
Returns a sequential number for each row within a partition.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
let expr = Expr::row_number().over(window);Sourcepub fn rank() -> Expr
pub fn rank() -> Expr
Create a RANK() window function.
Returns the rank of each row within a partition, with gaps in ranking for tied values.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
let expr = Expr::rank().over(window);Sourcepub fn dense_rank() -> Expr
pub fn dense_rank() -> Expr
Create a DENSE_RANK() window function.
Returns the rank of each row within a partition, without gaps in ranking for tied values.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
let expr = Expr::dense_rank().over(window);Sourcepub fn ntile(buckets: i64) -> Expr
pub fn ntile(buckets: i64) -> Expr
Create an NTILE(n) window function.
Divides the rows in a partition into buckets number of groups.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
let expr = Expr::ntile(4).over(window); // Divide into quartilesSourcepub fn lead(
expr: SimpleExpr,
offset: Option<i64>,
default: Option<Value>,
) -> Expr
pub fn lead( expr: SimpleExpr, offset: Option<i64>, default: Option<Value>, ) -> Expr
Create a LEAD() window function.
Returns the value of the expression evaluated at the row that is offset
rows after the current row within the partition.
§Arguments
expr- The expression to evaluateoffset- Number of rows after the current row (default is 1 ifNone)default- Default value if the lead row doesn’t exist (default is NULL ifNone)
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
// Get next salary value
let expr = Expr::lead(Expr::col("salary").into_simple_expr(), Some(1), None).over(window);Sourcepub fn lag(
expr: SimpleExpr,
offset: Option<i64>,
default: Option<Value>,
) -> Expr
pub fn lag( expr: SimpleExpr, offset: Option<i64>, default: Option<Value>, ) -> Expr
Create a LAG() window function.
Returns the value of the expression evaluated at the row that is offset
rows before the current row within the partition.
§Arguments
expr- The expression to evaluateoffset- Number of rows before the current row (default is 1 ifNone)default- Default value if the lag row doesn’t exist (default is NULL ifNone)
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
// Get previous salary value
let expr = Expr::lag(Expr::col("salary").into_simple_expr(), Some(1), None).over(window);Sourcepub fn first_value(expr: SimpleExpr) -> Expr
pub fn first_value(expr: SimpleExpr) -> Expr
Create a FIRST_VALUE() window function.
Returns the first value in a window frame.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
let expr = Expr::first_value(Expr::col("salary").into_simple_expr()).over(window);Sourcepub fn last_value(expr: SimpleExpr) -> Expr
pub fn last_value(expr: SimpleExpr) -> Expr
Create a LAST_VALUE() window function.
Returns the last value in a window frame.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
let expr = Expr::last_value(Expr::col("salary").into_simple_expr()).over(window);Sourcepub fn nth_value(expr: SimpleExpr, n: i64) -> Expr
pub fn nth_value(expr: SimpleExpr, n: i64) -> Expr
Create an NTH_VALUE() window function.
Returns the value of the expression at the nth row of the window frame.
§Arguments
expr- The expression to evaluaten- The row number (1-based) within the frame
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::window::WindowStatement;
let window = WindowStatement {
partition_by: vec![],
order_by: vec![],
frame: None,
};
// Get the 3rd salary value in the frame
let expr = Expr::nth_value(Expr::col("salary").into_simple_expr(), 3).over(window);Sourcepub fn into_simple_expr(self) -> SimpleExpr
pub fn into_simple_expr(self) -> SimpleExpr
Convert this Expr into a SimpleExpr.
Sourcepub fn as_simple_expr(&self) -> &SimpleExpr
pub fn as_simple_expr(&self) -> &SimpleExpr
Get a reference to the underlying SimpleExpr.
Sourcepub fn binary<R>(self, op: BinOper, right: R) -> SimpleExprwhere
R: Into<SimpleExpr>,
pub fn binary<R>(self, op: BinOper, right: R) -> SimpleExprwhere
R: Into<SimpleExpr>,
Sourcepub fn equals<C>(self, col: C) -> SimpleExprwhere
C: IntoColumnRef,
pub fn equals<C>(self, col: C) -> SimpleExprwhere
C: IntoColumnRef,
Sourcepub fn expr_as<T>(self, alias: T) -> SimpleExprwhere
T: IntoIden,
pub fn expr_as<T>(self, alias: T) -> SimpleExprwhere
T: IntoIden,
Create an aliased expression (AS).
§Example
use reinhardt_query::expr::Expr;
let expr = Expr::col("name").expr_as("alias_name");Trait Implementations§
Source§impl ExprTrait for Expr
impl ExprTrait for Expr
Source§fn into_simple_expr(self) -> SimpleExpr
fn into_simple_expr(self) -> SimpleExpr
Source§fn eq<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn eq<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
=). Read moreSource§fn ne<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn ne<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
<>).Source§fn lt<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn lt<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
<).Source§fn lte<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn lte<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
<=).Source§fn gt<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn gt<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
>).Source§fn gte<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn gte<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
>=).Source§fn is_null(self) -> SimpleExpr
fn is_null(self) -> SimpleExpr
Source§fn is_not_null(self) -> SimpleExpr
fn is_not_null(self) -> SimpleExpr
Source§fn between<A, B>(self, a: A, b: B) -> SimpleExpr
fn between<A, B>(self, a: A, b: B) -> SimpleExpr
Source§fn not_between<A, B>(self, a: A, b: B) -> SimpleExpr
fn not_between<A, B>(self, a: A, b: B) -> SimpleExpr
Source§fn is_in<I, V>(self, values: I) -> SimpleExpr
fn is_in<I, V>(self, values: I) -> SimpleExpr
Source§fn is_not_in<I, V>(self, values: I) -> SimpleExpr
fn is_not_in<I, V>(self, values: I) -> SimpleExpr
Source§fn like<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn like<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
Source§fn not_like<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn not_like<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
Source§fn ilike<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn ilike<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
Source§fn not_ilike<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn not_ilike<V>(self, pattern: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
Source§fn starts_with<S>(self, prefix: S) -> SimpleExpr
fn starts_with<S>(self, prefix: S) -> SimpleExpr
Source§fn ends_with<S>(self, suffix: S) -> SimpleExpr
fn ends_with<S>(self, suffix: S) -> SimpleExpr
Source§fn contains<S>(self, substring: S) -> SimpleExpr
fn contains<S>(self, substring: S) -> SimpleExpr
Source§fn and<E>(self, other: E) -> SimpleExprwhere
E: Into<SimpleExpr>,
fn and<E>(self, other: E) -> SimpleExprwhere
E: Into<SimpleExpr>,
Source§fn or<E>(self, other: E) -> SimpleExprwhere
E: Into<SimpleExpr>,
fn or<E>(self, other: E) -> SimpleExprwhere
E: Into<SimpleExpr>,
Source§fn not(self) -> SimpleExpr
fn not(self) -> SimpleExpr
Source§fn add<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn add<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
+).Source§fn sub<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn sub<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
-).Source§fn mul<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn mul<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
*).Source§fn div<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn div<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
/).Source§fn modulo<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn modulo<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
%).Source§fn bit_and<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn bit_and<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
&).Source§fn bit_or<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn bit_or<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
|).Source§fn left_shift<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn left_shift<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
<<).Source§fn right_shift<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
fn right_shift<V>(self, v: V) -> SimpleExprwhere
V: Into<SimpleExpr>,
>>).Source§fn as_enum<T>(self, type_name: T) -> SimpleExprwhere
T: IntoIden,
fn as_enum<T>(self, type_name: T) -> SimpleExprwhere
T: IntoIden,
Source§impl From<Expr> for SimpleExpr
impl From<Expr> for SimpleExpr
Source§fn from(e: Expr) -> SimpleExpr
fn from(e: Expr) -> SimpleExpr
Source§impl From<SimpleExpr> for Expr
impl From<SimpleExpr> for Expr
Source§fn from(e: SimpleExpr) -> Expr
fn from(e: SimpleExpr) -> Expr
Source§impl IntoCondition for Expr
impl IntoCondition for Expr
Source§fn into_condition_expression(self) -> ConditionExpression
fn into_condition_expression(self) -> ConditionExpression
Source§fn into_condition(self) -> Conditionwhere
Self: Sized,
fn into_condition(self) -> Conditionwhere
Self: Sized,
Auto Trait Implementations§
impl !RefUnwindSafe for Expr
impl !UnwindSafe for Expr
impl Freeze for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnsafeUnpin for Expr
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<E> ServerFnErrorAssertions<E> for Ewhere
E: Debug,
impl<E> ServerFnErrorAssertions<E> for Ewhere
E: Debug,
Source§fn should_contain_message(&self, expected: &str)where
E: Display,
fn should_contain_message(&self, expected: &str)where
E: Display,
Source§fn should_have_message(&self, expected: &str)where
E: Display,
fn should_have_message(&self, expected: &str)where
E: Display,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.