pub struct User {Show 23 fields
pub uuid: Uuid,
pub role: Option<Role>,
pub external_id: Option<CompactString>,
pub avatar: Option<String>,
pub username: CompactString,
pub email: CompactString,
pub name_first: Option<CompactString>,
pub name_last: Option<CompactString>,
pub admin: bool,
pub frozen: bool,
pub suspended: bool,
pub totp_enabled: bool,
pub totp_last_used: Option<NaiveDateTime>,
pub totp_secret: Option<String>,
pub email_two_factor_enabled: bool,
pub has_security_key: bool,
pub email_verified: bool,
pub password_login_disabled: bool,
pub language: CompactString,
pub toast_position: UserToastPosition,
pub start_on_grouped_servers: bool,
pub has_password: bool,
pub created: NaiveDateTime,
/* private fields */
}Fields§
§uuid: Uuid§role: Option<Role>§external_id: Option<CompactString>§avatar: Option<String>§username: CompactString§email: CompactString§name_first: Option<CompactString>§name_last: Option<CompactString>§admin: bool§frozen: bool§suspended: bool§totp_enabled: bool§totp_last_used: Option<NaiveDateTime>§totp_secret: Option<String>§email_two_factor_enabled: bool§has_security_key: bool§email_verified: bool§password_login_disabled: bool§language: CompactString§toast_position: UserToastPosition§start_on_grouped_servers: bool§has_password: bool§created: NaiveDateTimeImplementations§
Source§impl User
impl User
Sourcepub async fn get_settings(
&self,
database: &Database,
) -> Result<UserSettings, Error>
pub async fn get_settings( &self, database: &Database, ) -> Result<UserSettings, Error>
Returns the settings of this user for reading.
Cached for 60 seconds, invalidated by UserSettingsMut::save.
Sourcepub async fn get_settings_mut(
&self,
database: &Database,
) -> Result<UserSettingsMut, Error>
pub async fn get_settings_mut( &self, database: &Database, ) -> Result<UserSettingsMut, Error>
Returns the settings of this user for modification, holding a lock that serializes
concurrent writers until the returned guard is dropped. Changes are only persisted
by UserSettingsMut::save.
Source§impl User
impl User
pub async fn create_automatic_admin( database: &Database, username: &str, email: &str, name_first: Option<&str>, name_last: Option<&str>, password: &str, ) -> Result<Uuid, DatabaseError>
pub async fn by_external_id( database: &Database, external_id: &str, ) -> Result<Option<Self>, DatabaseError>
Sourcepub async fn by_session_cached(
database: &Database,
session: &str,
) -> Result<Option<(Self, UserSession)>, Error>
pub async fn by_session_cached( database: &Database, session: &str, ) -> Result<Option<(Self, UserSession)>, Error>
Returns the user and session associated with the given session string, if valid.
Cached for 5 seconds.
Sourcepub async fn by_api_key_cached(
database: &Database,
key: &str,
) -> Result<Option<(Self, UserApiKey)>, Error>
pub async fn by_api_key_cached( database: &Database, key: &str, ) -> Result<Option<(Self, UserApiKey)>, Error>
Returns the user and API key associated with the given API key string, if valid.
Cached for 5 seconds.
pub async fn by_credential_id( database: &Database, credential_id: &CredentialID, ) -> Result<Option<(Self, UserSecurityKey)>, DatabaseError>
pub async fn by_email( database: &Database, email: &str, ) -> Result<Option<Self>, DatabaseError>
pub async fn by_email_password( database: &Database, email: &str, password: &str, ) -> Result<Option<Self>, DatabaseError>
pub async fn by_username( database: &Database, username: &str, ) -> Result<Option<Self>, DatabaseError>
pub async fn by_username_password( database: &Database, username: &str, password: &str, ) -> Result<Option<Self>, DatabaseError>
pub async fn by_username_public_key( database: &Database, username: &str, public_key: PublicKey, ) -> Result<Option<Self>, DatabaseError>
pub async fn by_role_uuid_with_pagination( database: &Database, role_uuid: Uuid, page: i64, per_page: i64, search: Option<&str>, ) -> Result<Pagination<Self>, DatabaseError>
pub async fn all_with_pagination( database: &Database, page: i64, per_page: i64, search: Option<&str>, ) -> Result<Pagination<Self>, DatabaseError>
pub async fn count(database: &Database) -> i64
pub async fn validate_password( &self, database: &Database, password: &str, ) -> Result<bool, DatabaseError>
Sourcepub async fn update_password(
&mut self,
database: &Database,
password: Option<&str>,
) -> Result<(), DatabaseError>
pub async fn update_password( &mut self, database: &Database, password: Option<&str>, ) -> Result<(), DatabaseError>
Update the User password, None will disallow password login and not require one when changing
Sourcepub async fn update_password_with_transaction(
&mut self,
transaction: &mut Transaction<'_, Postgres>,
password: Option<&str>,
) -> Result<(), DatabaseError>
pub async fn update_password_with_transaction( &mut self, transaction: &mut Transaction<'_, Postgres>, password: Option<&str>, ) -> Result<(), DatabaseError>
Update the User password, None will disallow password login and not require one when changing
pub fn require_two_factor(&self, settings: &AppSettings) -> bool
pub fn has_two_factor_method( &self, method: TwoFactorMethod, settings: &AppSettings, ) -> bool
Sourcepub fn two_factor_methods(&self, settings: &AppSettings) -> Vec<TwoFactorMethod>
pub fn two_factor_methods(&self, settings: &AppSettings) -> Vec<TwoFactorMethod>
Every factor the user has, regardless of whether an admin counts it towards the requirement.
pub fn satisfies_two_factor(&self, settings: &AppSettings) -> bool
pub fn require_email_verification(&self, settings: &AppSettings) -> bool
pub async fn into_api_full_object( self, state: &State, storage_url_retriever: &StorageUrlRetriever<'_>, ) -> Result<ApiFullUser, DatabaseError>
Trait Implementations§
Source§impl BaseModel for User
impl BaseModel for User
const NAME: &'static str = "user"
fn get_extension_list() -> &'static ModelExtensionList
fn get_extension_data(&self) -> &ModelExtensionData
fn base_columns(prefix: Option<&str>) -> BTreeMap<&'static str, CompactString>
fn map(prefix: Option<&str>, row: &PgRow) -> Result<Self, DatabaseError>
Source§fn register_model_extension(
extension: impl ModelExtension + Send + Sync + 'static,
)
fn register_model_extension( extension: impl ModelExtension + Send + Sync + 'static, )
Source§fn parse_model_extension<Extension: SafeModelExtension>(
&self,
) -> Result<Extension::Value, DatabaseError>
fn parse_model_extension<Extension: SafeModelExtension>( &self, ) -> Result<Extension::Value, DatabaseError>
fn columns(prefix: Option<&str>) -> BTreeMap<&'static str, CompactString>
fn columns_sql(prefix: Option<&str>) -> CompactString
fn map_extensions( prefix: &str, row: &PgRow, ) -> Result<ModelExtensionData, DatabaseError>
Source§impl ByUuid for User
impl ByUuid for User
fn by_uuid<'life0, 'async_trait>(
database: &'life0 Database,
uuid: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Self, DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn by_uuid_with_transaction<'life0, 'life1, 'async_trait>(
transaction: &'life0 mut Transaction<'life1, Postgres>,
uuid: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Self, DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn by_uuid_cached<'life0, 'async_trait>(
database: &'life0 Database,
uuid: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Self, Error>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn by_uuid_optional<'life0, 'async_trait>(
database: &'life0 Database,
uuid: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Self>, DatabaseError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn by_uuid_optional_with_transaction<'life0, 'life1, 'async_trait>(
transaction: &'life0 mut Transaction<'life1, Postgres>,
uuid: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Self>, DatabaseError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn by_uuid_optional_cached<'life0, 'async_trait>(
database: &'life0 Database,
uuid: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Self>, Error>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn get_fetchable(uuid: Uuid) -> Fetchable<Self>
fn get_fetchable_from_row( row: &PgRow, column: impl AsRef<str>, ) -> Option<Fetchable<Self>>
Source§impl CreatableModel for User
impl CreatableModel for User
type CreateOptions<'a> = CreateUserOptions
type CreateResult = User
fn get_create_handlers() -> &'static LazyLock<CreateListenerList<Self>>
fn create_with_transaction<'life0, 'life1, 'life2, 'life3, 'async_trait>(
state: &'life0 State,
options: Self::CreateOptions<'life1>,
transaction: &'life2 mut Transaction<'life3, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<Self, DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn register_create_handler<F: for<'a> Fn(&'a mut Self::CreateOptions<'_>, &'a mut InsertQueryBuilder<'_>, &'a State, &'a mut Transaction<'_, Postgres>) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'a>> + Send + Sync + 'static>( priority: ListenerPriority, callback: F, )
fn register_after_create_handler<F: for<'a> Fn(&'a mut Self::CreateResult, &'a Self::CreateOptions<'_>, &'a State, &'a mut Transaction<'_, Postgres>) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'a>> + Send + Sync + 'static>( priority: ListenerPriority, callback: F, )
fn run_create_handlers<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
options: &'life0 mut Self::CreateOptions<'life1>,
query_builder: &'life2 mut InsertQueryBuilder<'_>,
state: &'life3 State,
transaction: &'life4 mut Transaction<'life5, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn run_after_create_handlers<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
result: &'life0 mut Self::CreateResult,
options: &'life1 Self::CreateOptions<'life2>,
state: &'life3 State,
transaction: &'life4 mut Transaction<'life5, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
state: &'life0 State,
options: Self::CreateOptions<'life1>,
) -> Pin<Box<dyn Future<Output = Result<Self::CreateResult, DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl DeletableModel for User
impl DeletableModel for User
type DeleteOptions = ()
fn get_delete_handlers() -> &'static LazyLock<DeleteHandlerList<Self>>
fn delete_with_transaction<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
state: &'life1 State,
options: Self::DeleteOptions,
transaction: &'life2 mut Transaction<'life3, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
state: &'life1 State,
options: Self::DeleteOptions,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_delete_handler<F: for<'a> Fn(&'a Self, &'a Self::DeleteOptions, &'a State, &'a mut Transaction<'_, Postgres>) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>> + Send + Sync + 'static>( priority: ListenerPriority, callback: F, )
fn register_after_delete_handler<F: for<'a> Fn(&'a Self, &'a Self::DeleteOptions, &'a State, &'a mut Transaction<'_, Postgres>) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>> + Send + Sync + 'static>( priority: ListenerPriority, callback: F, )
fn run_delete_handlers<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
options: &'life1 Self::DeleteOptions,
state: &'life2 State,
transaction: &'life3 mut Transaction<'life4, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn run_after_delete_handlers<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
options: &'life1 Self::DeleteOptions,
state: &'life2 State,
transaction: &'life3 mut Transaction<'life4, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Source§impl<'de> Deserialize<'de> for User
impl<'de> Deserialize<'de> for User
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl IntoAdminApiObject for User
impl IntoAdminApiObject for User
type AdminApiObject = AdminApiUser
type ExtraArgs<'a> = &'a StorageUrlRetriever<'a>
fn into_admin_api_object<'a, 'life0, 'async_trait>(
self,
state: &'life0 State,
storage_url_retriever: Self::ExtraArgs<'a>,
) -> Pin<Box<dyn Future<Output = Result<Self::AdminApiObject, DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Source§impl IntoApiObject for User
impl IntoApiObject for User
type ApiObject = ApiUser
type ExtraArgs<'a> = &'a StorageUrlRetriever<'a>
fn into_api_object<'a, 'life0, 'async_trait>(
self,
state: &'life0 State,
storage_url_retriever: Self::ExtraArgs<'a>,
) -> Pin<Box<dyn Future<Output = Result<Self::ApiObject, DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Source§impl UpdatableModel for User
impl UpdatableModel for User
type UpdateOptions = UpdateUserOptions
fn get_update_handlers() -> &'static LazyLock<UpdateHandlerList<Self>>
fn update_with_transaction<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
state: &'life1 State,
options: Self::UpdateOptions,
transaction: &'life2 mut Transaction<'life3, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn register_update_handler<F: for<'a> Fn(&'a mut Self, &'a mut Self::UpdateOptions, &'a mut UpdateQueryBuilder<'_>, &'a State, &'a mut Transaction<'_, Postgres>) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'a>> + Send + Sync + 'static>( priority: ListenerPriority, callback: F, )
fn register_after_update_handler<F: for<'a> Fn(&'a mut Self, &'a State, &'a mut Transaction<'_, Postgres>) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'a>> + Send + Sync + 'static>( priority: ListenerPriority, callback: F, )
fn run_update_handlers<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 mut self,
options: &'life1 mut Self::UpdateOptions,
query_builder: &'life2 mut UpdateQueryBuilder<'_>,
state: &'life3 State,
transaction: &'life4 mut Transaction<'life5, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn run_after_update_handlers<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
state: &'life1 State,
transaction: &'life2 mut Transaction<'life3, Postgres>,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn update<'life0, 'life1, 'async_trait>(
&'life0 mut self,
state: &'life1 State,
options: Self::UpdateOptions,
) -> Pin<Box<dyn Future<Output = Result<(), DatabaseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl Freeze for User
impl RefUnwindSafe for User
impl Send for User
impl Sync for User
impl Unpin for User
impl UnsafeUnpin for User
impl UnwindSafe for User
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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,
§impl<T> Conv for T
impl<T> Conv for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§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.§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§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
§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
§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.§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.§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.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<'de, T> Response for Twhere
T: Deserialize<'de>,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
§impl<T> Tap for T
impl<T> Tap for T
§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 more§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 more§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 more§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 more§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 more§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 more§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.§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.§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.§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.§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.§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.§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.