diff --git a/db_core/all.html b/db_core/all.html index daec46d6..cfc83555 100644 --- a/db_core/all.html +++ b/db_core/all.html @@ -3,5 +3,5 @@

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

+

Crate db_core

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

\ No newline at end of file diff --git a/db_core/dev/attr.async_trait.html b/db_core/dev/attr.async_trait.html index 439b3131..4d8e8a75 100644 --- a/db_core/dev/attr.async_trait.html +++ b/db_core/dev/attr.async_trait.html @@ -4,5 +4,5 @@
-

Attribute Macro db_core::dev::async_trait

[]
#[async_trait]
+

Attribute Macro db_core::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_core/dev/index.html b/db_core/dev/index.html index 2423851f..f5589dac 100644 --- a/db_core/dev/index.html +++ b/db_core/dev/index.html @@ -7,5 +7,5 @@

Module db_core::dev

source · []
Expand description

useful imports for supporting a new database

Re-exports

pub use super::prelude::*;

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_core/enum.Login.html b/db_core/enum.Login.html index 776aa95f..0ad39943 100644 --- a/db_core/enum.Login.html +++ b/db_core/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/errors/enum.DBError.html b/db_core/errors/enum.DBError.html index 7b64ea28..038244b7 100644 --- a/db_core/errors/enum.DBError.html +++ b/db_core/errors/enum.DBError.html @@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/errors/index.html b/db_core/errors/index.html index ec91d238..d43400e3 100644 --- a/db_core/errors/index.html +++ b/db_core/errors/index.html @@ -10,5 +10,5 @@

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_core/errors/type.BoxDynError.html b/db_core/errors/type.BoxDynError.html index 93d5490d..44ebbebc 100644 --- a/db_core/errors/type.BoxDynError.html +++ b/db_core/errors/type.BoxDynError.html @@ -4,6 +4,6 @@
-

Type Definition db_core::errors::BoxDynError

source · []
pub type BoxDynError = Box<dyn StdError + Send + Sync + 'static>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_core::errors::BoxDynError

source · []
pub type BoxDynError = Box<dyn StdError + Send + Sync + 'static>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_core/errors/type.DBResult.html b/db_core/errors/type.DBResult.html index 8c257936..086fe65f 100644 --- a/db_core/errors/type.DBResult.html +++ b/db_core/errors/type.DBResult.html @@ -4,6 +4,6 @@
-

Type Definition db_core::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_core::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_core/index.html b/db_core/index.html index 73cb6b95..5e7cbc86 100644 --- a/db_core/index.html +++ b/db_core/index.html @@ -40,5 +40,5 @@ connection from pool

Trait to clone MCDatabase

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-
+
\ No newline at end of file diff --git a/db_core/ops/index.html b/db_core/ops/index.html index 5a8b92ae..3bbf3249 100644 --- a/db_core/ops/index.html +++ b/db_core/ops/index.html @@ -10,5 +10,5 @@
DBOps

Database operations trait(migrations, pool creation and fetching connection from pool)

GetConnection

Get database connection

Migrate

database migrations

-
+
\ No newline at end of file diff --git a/db_core/ops/trait.Connect.html b/db_core/ops/trait.Connect.html index 7acf9124..4f387112 100644 --- a/db_core/ops/trait.Connect.html +++ b/db_core/ops/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_core::ops::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/ops/trait.DBOps.html b/db_core/ops/trait.DBOps.html index 79dc6415..e9b30ef7 100644 --- a/db_core/ops/trait.DBOps.html +++ b/db_core/ops/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/ops/trait.GetConnection.html b/db_core/ops/trait.GetConnection.html index 44517c60..6c47defa 100644 --- a/db_core/ops/trait.GetConnection.html +++ b/db_core/ops/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_core::ops::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/ops/trait.Migrate.html b/db_core/ops/trait.Migrate.html index 64b3b064..6f33a798 100644 --- a/db_core/ops/trait.Migrate.html +++ b/db_core/ops/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/prelude/index.html b/db_core/prelude/index.html index c85277c9..ca0db9ba 100644 --- a/db_core/prelude/index.html +++ b/db_core/prelude/index.html @@ -6,5 +6,5 @@

Module prelude

Expand description

useful imports for users working with a supported database

Re-exports

-
pub use super::errors::*;
pub use super::ops::*;
pub use super::*;
+
pub use super::errors::*;
pub use super::ops::*;
pub use super::*;
\ No newline at end of file diff --git a/db_core/struct.AddNotification.html b/db_core/struct.AddNotification.html index bd7b1718..984cba32 100644 --- a/db_core/struct.AddNotification.html +++ b/db_core/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Captcha.html b/db_core/struct.Captcha.html index 419b9445..389bc836 100644 --- a/db_core/struct.Captcha.html +++ b/db_core/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.CreateCaptcha.html b/db_core/struct.CreateCaptcha.html index b201b6f1..f8065d1d 100644 --- a/db_core/struct.CreateCaptcha.html +++ b/db_core/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Level.html b/db_core/struct.Level.html index 6162dc02..5452e6f3 100644 --- a/db_core/struct.Level.html +++ b/db_core/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.NameHash.html b/db_core/struct.NameHash.html index 3adbfdd5..57ac1182 100644 --- a/db_core/struct.NameHash.html +++ b/db_core/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Notification.html b/db_core/struct.Notification.html index 9eabb97c..c4b2567a 100644 --- a/db_core/struct.Notification.html +++ b/db_core/struct.Notification.html @@ -5,48 +5,48 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Register.html b/db_core/struct.Register.html index bf8f091e..1ea0bde7 100644 --- a/db_core/struct.Register.html +++ b/db_core/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Secret.html b/db_core/struct.Secret.html index 4ac1c799..a1688453 100644 --- a/db_core/struct.Secret.html +++ b/db_core/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.StatsUnixTimestamp.html b/db_core/struct.StatsUnixTimestamp.html index 37403424..8dcbccef 100644 --- a/db_core/struct.StatsUnixTimestamp.html +++ b/db_core/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64>,
-    pub solves: Vec<i64>,
-    pub confirms: Vec<i64>,
+    pub config_fetches: Vec<i64>,
+    pub solves: Vec<i64>,
+    pub confirms: Vec<i64>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64>

times at which the configuration were fetched

-
solves: Vec<i64>

times at which the PoW was solved

-
confirms: Vec<i64>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64>

times at which the configuration were fetched

+
solves: Vec<i64>

times at which the PoW was solved

+
confirms: Vec<i64>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.TrafficPattern.html b/db_core/struct.TrafficPattern.html index 27bc55b4..338140ef 100644 --- a/db_core/struct.TrafficPattern.html +++ b/db_core/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.UpdateEmail.html b/db_core/struct.UpdateEmail.html index 0f6485ca..efe031f6 100644 --- a/db_core/struct.UpdateEmail.html +++ b/db_core/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/tests/fn.database_works.html b/db_core/tests/fn.database_works.html index 89d53254..cb7ec3eb 100644 --- a/db_core/tests/fn.database_works.html +++ b/db_core/tests/fn.database_works.html @@ -4,6 +4,6 @@
pub async fn database_works<'a, T: MCDatabase>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
)
Expand description

test all database functions

-
+

Function db_core::tests::database_works

source · []
pub async fn database_works<'a, T: MCDatabase>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
)
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_core/tests/index.html b/db_core/tests/index.html index bc20bcbb..44cc0b9d 100644 --- a/db_core/tests/index.html +++ b/db_core/tests/index.html @@ -7,5 +7,5 @@

Module db_core::tests

source · []
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_core/trait.CloneSPDatabase.html b/db_core/trait.CloneSPDatabase.html index 6245599c..fd65ad3d 100644 --- a/db_core/trait.CloneSPDatabase.html +++ b/db_core/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase>;
+    fn clone_db(&self) -> Box<dyn MCDatabase>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_core/trait.MCDatabase.html b/db_core/trait.MCDatabase.html index 892b07a8..d46ea144 100644 --- a/db_core/trait.MCDatabase.html +++ b/db_core/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_core::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/all.html b/db_sqlx_postgres/all.html index 617a97f2..fef00d51 100644 --- a/db_sqlx_postgres/all.html +++ b/db_sqlx_postgres/all.html @@ -3,5 +3,5 @@

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

+

Crate db_sqlx_postgres

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/attr.async_trait.html b/db_sqlx_postgres/dev/attr.async_trait.html index 7378ac96..0018df19 100644 --- a/db_sqlx_postgres/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/attr.async_trait.html @@ -4,5 +4,5 @@
#[async_trait]
+

Attribute Macro db_sqlx_postgres::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/attr.async_trait.html b/db_sqlx_postgres/dev/dev/attr.async_trait.html index 2df01620..fa427c9d 100644 --- a/db_sqlx_postgres/dev/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/dev/attr.async_trait.html @@ -4,5 +4,5 @@
#[async_trait]
+

Attribute Macro db_sqlx_postgres::dev::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/enum.DBError.html b/db_sqlx_postgres/dev/dev/enum.DBError.html index dd1acb09..c6888516 100644 --- a/db_sqlx_postgres/dev/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/dev/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/enum.Login.html b/db_sqlx_postgres/dev/dev/enum.Login.html index 1f2a2afd..dd5e8fc5 100644 --- a/db_sqlx_postgres/dev/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/dev/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/index.html b/db_sqlx_postgres/dev/dev/index.html index 9c1ee1ed..039dd404 100644 --- a/db_sqlx_postgres/dev/dev/index.html +++ b/db_sqlx_postgres/dev/dev/index.html @@ -34,5 +34,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html b/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html index 57029db7..3b6d18d4 100644 --- a/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/enum.Login.html b/db_sqlx_postgres/dev/dev/prelude/enum.Login.html index b7b6c094..84a49736 100644 --- a/db_sqlx_postgres/dev/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/dev/dev/prelude/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/index.html b/db_sqlx_postgres/dev/dev/prelude/index.html index 1a3aecd6..b56c8f50 100644 --- a/db_sqlx_postgres/dev/dev/prelude/index.html +++ b/db_sqlx_postgres/dev/dev/prelude/index.html @@ -31,5 +31,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html index ca6fe8da..1dd852a8 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html index 6422f38b..9325c0f9 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html index af37d7fb..811adeed 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Level.html b/db_sqlx_postgres/dev/dev/prelude/struct.Level.html index 8d33400e..aaf9c65f 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html index eb7d9a62..5c1f5fe3 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html b/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html index 9fada7d2..b4e4d2a8 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Register.html b/db_sqlx_postgres/dev/dev/prelude/struct.Register.html index a5994312..aa851400 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html b/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html index 9b63523c..ea453e1d 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html index e90dbae5..0d1f6a50 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html index 037bb169..70195ef5 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html index 847fc548..732e325b 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html index bc059866..6d673ba2 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html b/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html index 8709f446..06ccd859 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::dev::prelude::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html index 76d1bd41..f214fdc0 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html index f380bb6f..1aa9be95 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::dev::prelude::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html index fd4cef38..bb064f43 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::dev::dev::prelude::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html index 4c956eb7..863ba792 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html index 29a4e850..df70a3ce 100644 --- a/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::dev::dev::prelude::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html b/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html index ecf3d1f7..f8c3f0c3 100644 --- a/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::dev::dev::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/dev/struct.AddNotification.html index 14a7c7ba..9be679b0 100644 --- a/db_sqlx_postgres/dev/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/dev/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Captcha.html b/db_sqlx_postgres/dev/dev/struct.Captcha.html index eb14be7e..bfae374a 100644 --- a/db_sqlx_postgres/dev/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/dev/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html index 2e8b1b8d..d550e62e 100644 --- a/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Level.html b/db_sqlx_postgres/dev/dev/struct.Level.html index 617225b3..2b14725d 100644 --- a/db_sqlx_postgres/dev/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/dev/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.NameHash.html b/db_sqlx_postgres/dev/dev/struct.NameHash.html index 6c817be9..e61134c6 100644 --- a/db_sqlx_postgres/dev/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/dev/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Notification.html b/db_sqlx_postgres/dev/dev/struct.Notification.html index abc13e8a..03eae6c1 100644 --- a/db_sqlx_postgres/dev/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/dev/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Register.html b/db_sqlx_postgres/dev/dev/struct.Register.html index a706d156..b08e21d4 100644 --- a/db_sqlx_postgres/dev/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/dev/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Secret.html b/db_sqlx_postgres/dev/dev/struct.Secret.html index 4ce3f679..674e3453 100644 --- a/db_sqlx_postgres/dev/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/dev/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html index a2b1afe6..f0ea3a56 100644 --- a/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html index c60df2cb..835ac58b 100644 --- a/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html index 9d4c1f6d..51ad8f0a 100644 --- a/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html index 74f3e866..0265e3f7 100644 --- a/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.Connect.html b/db_sqlx_postgres/dev/dev/trait.Connect.html index d47a16f9..23e02d33 100644 --- a/db_sqlx_postgres/dev/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/dev/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::dev::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.DBOps.html b/db_sqlx_postgres/dev/dev/trait.DBOps.html index d6e29774..3faaf07b 100644 --- a/db_sqlx_postgres/dev/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/dev/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/dev/trait.GetConnection.html index e4a6cd9e..60623946 100644 --- a/db_sqlx_postgres/dev/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/dev/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::dev::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/dev/trait.MCDatabase.html index 6f1a393e..ebd4e169 100644 --- a/db_sqlx_postgres/dev/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/dev/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::dev::dev::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.Migrate.html b/db_sqlx_postgres/dev/dev/trait.Migrate.html index c20b7e10..d7e2f002 100644 --- a/db_sqlx_postgres/dev/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/dev/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/dev/type.BoxDynError.html index c92546fb..1846d3af 100644 --- a/db_sqlx_postgres/dev/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/dev/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::dev::dev::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/type.DBResult.html b/db_sqlx_postgres/dev/dev/type.DBResult.html index 72ec8257..c7e8f3d2 100644 --- a/db_sqlx_postgres/dev/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/dev/type.DBResult.html @@ -4,6 +4,6 @@
-

Type Definition db_sqlx_postgres::dev::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::dev::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.DBError.html b/db_sqlx_postgres/dev/enum.DBError.html index 780cd61a..27c26025 100644 --- a/db_sqlx_postgres/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.Error.html b/db_sqlx_postgres/dev/enum.Error.html index a3969894..3f7ab9ed 100644 --- a/db_sqlx_postgres/dev/enum.Error.html +++ b/db_sqlx_postgres/dev/enum.Error.html @@ -6,77 +6,77 @@

Error

#[non_exhaustive]
 pub enum Error {
-
Show 15 variants Configuration(Box<dyn Error + Sync + Send + 'static, Global>), - Database(Box<dyn DatabaseError + 'static, Global>), - Io(Error), - Tls(Box<dyn Error + Sync + Send + 'static, Global>), - Protocol(String), +
Show 15 variants Configuration(Box<dyn Error + Sync + Send + 'static, Global>), + Database(Box<dyn DatabaseError + 'static, Global>), + Io(Error), + Tls(Box<dyn Error + Sync + Send + 'static, Global>), + Protocol(String), RowNotFound, TypeNotFound { - type_name: String, + type_name: String, }, ColumnIndexOutOfBounds { - index: usize, - len: usize, + index: usize, + len: usize, }, - ColumnNotFound(String), + ColumnNotFound(String), ColumnDecode { - index: String, - source: Box<dyn Error + Sync + Send + 'static, Global>, + index: String, + source: Box<dyn Error + Sync + Send + 'static, Global>, }, - Decode(Box<dyn Error + Sync + Send + 'static, Global>), + Decode(Box<dyn Error + Sync + Send + 'static, Global>), PoolTimedOut, PoolClosed, WorkerCrashed, - Migrate(Box<MigrateError, Global>), + Migrate(Box<MigrateError, Global>),
}
Expand description

Represents all the ways a method can fail within SQLx.

-

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.

Configuration(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while parsing a connection string.

-

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

-

Io(Error)

Error communicating with the database backend.

-

Tls(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while attempting to establish a TLS connection.

-

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

+

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.

Configuration(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while parsing a connection string.

+

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

+

Io(Error)

Error communicating with the database backend.

+

Tls(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while attempting to establish a TLS connection.

+

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

This should indicate there is a programming error in a SQLx driver or there is something corrupted with the connection to the database itself.

RowNotFound

No rows returned by a query that expected to return at least one row.

-

TypeNotFound

Fields

type_name: String

Type in query doesn’t exist. Likely due to typo or missing user type.

-

ColumnIndexOutOfBounds

Fields

index: usize
len: usize

Column index was out of bounds.

-

ColumnNotFound(String)

No column found for the given name.

-

ColumnDecode

Fields

index: String
source: Box<dyn Error + Sync + Send + 'static, Global>

Error occurred while decoding a value from a specific column.

-

Decode(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while decoding a value.

+

TypeNotFound

Fields

type_name: String

Type in query doesn’t exist. Likely due to typo or missing user type.

+

ColumnIndexOutOfBounds

Fields

index: usize
len: usize

Column index was out of bounds.

+

ColumnNotFound(String)

No column found for the given name.

+

ColumnDecode

Fields

index: String
source: Box<dyn Error + Sync + Send + 'static, Global>

Error occurred while decoding a value from a specific column.

+

Decode(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while decoding a value.

PoolTimedOut

A Pool::acquire timed out due to connections not becoming available or because another task encountered too many errors while trying to open a new connection.

PoolClosed

Pool::close was called while we were waiting in Pool::acquire.

WorkerCrashed

A background worker has crashed.

-

Migrate(Box<MigrateError, Global>)

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Migrate(Box<MigrateError, Global>)

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.Login.html b/db_sqlx_postgres/dev/enum.Login.html index 9eacd705..144a44b8 100644 --- a/db_sqlx_postgres/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/enum.DBError.html b/db_sqlx_postgres/dev/errors/enum.DBError.html index 32fb9158..20c0a820 100644 --- a/db_sqlx_postgres/dev/errors/enum.DBError.html +++ b/db_sqlx_postgres/dev/errors/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/index.html b/db_sqlx_postgres/dev/errors/index.html index 3d3089f2..be1669b4 100644 --- a/db_sqlx_postgres/dev/errors/index.html +++ b/db_sqlx_postgres/dev/errors/index.html @@ -10,5 +10,5 @@

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.BoxDynError.html b/db_sqlx_postgres/dev/errors/type.BoxDynError.html index 8e5177b3..56559fca 100644 --- a/db_sqlx_postgres/dev/errors/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/errors/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::dev::errors::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.DBResult.html b/db_sqlx_postgres/dev/errors/type.DBResult.html index ff0c534f..c5a5f7b0 100644 --- a/db_sqlx_postgres/dev/errors/type.DBResult.html +++ b/db_sqlx_postgres/dev/errors/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::dev::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/index.html b/db_sqlx_postgres/dev/index.html index b3b92279..04384ef1 100644 --- a/db_sqlx_postgres/dev/index.html +++ b/db_sqlx_postgres/dev/index.html @@ -39,5 +39,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/index.html b/db_sqlx_postgres/dev/ops/index.html index ee74fcb7..a5741361 100644 --- a/db_sqlx_postgres/dev/ops/index.html +++ b/db_sqlx_postgres/dev/ops/index.html @@ -10,5 +10,5 @@

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.Connect.html b/db_sqlx_postgres/dev/ops/trait.Connect.html index 5dbb88ba..4035ec88 100644 --- a/db_sqlx_postgres/dev/ops/trait.Connect.html +++ b/db_sqlx_postgres/dev/ops/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::ops::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.DBOps.html b/db_sqlx_postgres/dev/ops/trait.DBOps.html index 9c8f6e67..3b55c9f4 100644 --- a/db_sqlx_postgres/dev/ops/trait.DBOps.html +++ b/db_sqlx_postgres/dev/ops/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.GetConnection.html b/db_sqlx_postgres/dev/ops/trait.GetConnection.html index b5440321..ac1045e5 100644 --- a/db_sqlx_postgres/dev/ops/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/ops/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::ops::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.Migrate.html b/db_sqlx_postgres/dev/ops/trait.Migrate.html index e526eaf1..5c29378c 100644 --- a/db_sqlx_postgres/dev/ops/trait.Migrate.html +++ b/db_sqlx_postgres/dev/ops/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html b/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html index 60cc2e0b..a88093e4 100644 --- a/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html @@ -4,5 +4,5 @@
#[async_trait]
+

Attribute Macro db_sqlx_postgres::dev::prelude::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html b/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html index 8495961f..e5d2c386 100644 --- a/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/enum.Login.html b/db_sqlx_postgres/dev/prelude/dev/enum.Login.html index 0fd75dc1..67871d10 100644 --- a/db_sqlx_postgres/dev/prelude/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/dev/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/index.html b/db_sqlx_postgres/dev/prelude/dev/index.html index 211d7a0e..0dde076d 100644 --- a/db_sqlx_postgres/dev/prelude/dev/index.html +++ b/db_sqlx_postgres/dev/prelude/dev/index.html @@ -32,5 +32,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html index 73028fa7..4ab62401 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html index f9e4e096..2890554b 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html index e4267678..48521de5 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Level.html b/db_sqlx_postgres/dev/prelude/dev/struct.Level.html index daf01849..bc5af97e 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html index 4e845179..a4e286c1 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html index db847780..0fc42538 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html index 13302322..badb61b3 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html index ea63cf97..4606010d 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html index 0e6e8fdc..227c4cc0 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html index cb9ed6db..1c214aed 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html index 1d41085d..e785426d 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html index 0d191324..852179ad 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html index d627c66f..934491e6 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::prelude::dev::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html index 8ec115d4..6c027983 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html index b92f80bc..a2c11ad6 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::prelude::dev::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html index cf15bf00..03b14f73 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::dev::prelude::dev::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html index 894ca2d4..81c1e021 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html index 08593e09..e72133f5 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::dev::prelude::dev::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html index b363c2e9..6c9f8013 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::dev::prelude::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/enum.DBError.html b/db_sqlx_postgres/dev/prelude/enum.DBError.html index ec56cfd7..1f34fcf1 100644 --- a/db_sqlx_postgres/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/dev/prelude/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/enum.Login.html b/db_sqlx_postgres/dev/prelude/enum.Login.html index bd0171db..eb989d64 100644 --- a/db_sqlx_postgres/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/index.html b/db_sqlx_postgres/dev/prelude/index.html index aeb698f0..1d7419a6 100644 --- a/db_sqlx_postgres/dev/prelude/index.html +++ b/db_sqlx_postgres/dev/prelude/index.html @@ -33,5 +33,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/dev/prelude/struct.AddNotification.html index aef9519c..72bb00f2 100644 --- a/db_sqlx_postgres/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/prelude/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/struct.Captcha.html index 025fa01b..7f5053ed 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html index 4ad6c6ff..59c62e08 100644 --- a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Level.html b/db_sqlx_postgres/dev/prelude/struct.Level.html index f6c37353..c7bcc9ea 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/dev/prelude/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/struct.NameHash.html index 2dca3438..9aaef956 100644 --- a/db_sqlx_postgres/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Notification.html b/db_sqlx_postgres/dev/prelude/struct.Notification.html index dc916d19..ca348114 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Register.html b/db_sqlx_postgres/dev/prelude/struct.Register.html index 90ccf54f..b83236ba 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Secret.html b/db_sqlx_postgres/dev/prelude/struct.Secret.html index b8001973..69a1b202 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html index de4db1d6..e4c597c6 100644 --- a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html index 0feec9aa..b04f18f5 100644 --- a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html index fa873bb8..b689516f 100644 --- a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html index 72589755..ad3b0e98 100644 --- a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Connect.html b/db_sqlx_postgres/dev/prelude/trait.Connect.html index a0e9ee69..b048cbcd 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::prelude::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/trait.DBOps.html index 4080f7da..bd18e6fb 100644 --- a/db_sqlx_postgres/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html index 3f0a11ce..54951664 100644 --- a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::prelude::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html index 50b3502d..35142396 100644 --- a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::dev::prelude::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/trait.Migrate.html index abcabbaa..dd22d907 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html index 2dfe9d2f..c8871cc8 100644 --- a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::dev::prelude::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.DBResult.html b/db_sqlx_postgres/dev/prelude/type.DBResult.html index 547f3d46..8f8b9865 100644 --- a/db_sqlx_postgres/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::dev::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/struct.AddNotification.html index 8828536f..3b44ce64 100644 --- a/db_sqlx_postgres/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Captcha.html b/db_sqlx_postgres/dev/struct.Captcha.html index 8f7951d8..ee2cd1df 100644 --- a/db_sqlx_postgres/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/struct.CreateCaptcha.html index ef4f0966..6a4e7020 100644 --- a/db_sqlx_postgres/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Level.html b/db_sqlx_postgres/dev/struct.Level.html index ed7f890d..376a7f27 100644 --- a/db_sqlx_postgres/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.NameHash.html b/db_sqlx_postgres/dev/struct.NameHash.html index 6eb566d1..077b5093 100644 --- a/db_sqlx_postgres/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Notification.html b/db_sqlx_postgres/dev/struct.Notification.html index 262806c0..a20f3bac 100644 --- a/db_sqlx_postgres/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Register.html b/db_sqlx_postgres/dev/struct.Register.html index f03e17d6..b8c8f458 100644 --- a/db_sqlx_postgres/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Secret.html b/db_sqlx_postgres/dev/struct.Secret.html index 4dc7e2a1..e7acdf55 100644 --- a/db_sqlx_postgres/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html index 6055a230..a036accb 100644 --- a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/struct.TrafficPattern.html index 84e6a30c..6b3e05b3 100644 --- a/db_sqlx_postgres/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/struct.UpdateEmail.html index d0a8f817..815c8b0b 100644 --- a/db_sqlx_postgres/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/fn.database_works.html b/db_sqlx_postgres/dev/tests/fn.database_works.html index ecbb68b7..8ceeebce 100644 --- a/db_sqlx_postgres/dev/tests/fn.database_works.html +++ b/db_sqlx_postgres/dev/tests/fn.database_works.html @@ -4,6 +4,6 @@
pub async fn database_works<T>(
    db: &'_ T,
    p: &'_ Register<'a>,
    c: &'_ CreateCaptcha<'a>,
    l: &'_ [Level],
    tp: &'_ TrafficPattern,
    an: &'_ AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

-
+

Function db_sqlx_postgres::dev::tests::database_works

source · []
pub async fn database_works<T>(
    db: &'_ T,
    p: &'_ Register<'a>,
    c: &'_ CreateCaptcha<'a>,
    l: &'_ [Level],
    tp: &'_ TrafficPattern,
    an: &'_ AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/index.html b/db_sqlx_postgres/dev/tests/index.html index 35a46ee7..8a3cb381 100644 --- a/db_sqlx_postgres/dev/tests/index.html +++ b/db_sqlx_postgres/dev/tests/index.html @@ -7,5 +7,5 @@

Module db_sqlx_postgres::dev::tests

source · []
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html index 80e95e2b..76942ae2 100644 --- a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Connect.html b/db_sqlx_postgres/dev/trait.Connect.html index 3cb27dd0..1c145078 100644 --- a/db_sqlx_postgres/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.DBOps.html b/db_sqlx_postgres/dev/trait.DBOps.html index af3c9999..760b1f38 100644 --- a/db_sqlx_postgres/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/trait.GetConnection.html index f980faa0..a2d22051 100644 --- a/db_sqlx_postgres/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::dev::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/trait.MCDatabase.html index bbcf5452..151879c0 100644 --- a/db_sqlx_postgres/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::dev::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Migrate.html b/db_sqlx_postgres/dev/trait.Migrate.html index df288074..9020017f 100644 --- a/db_sqlx_postgres/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/type.BoxDynError.html index 6ac2a0b3..2ab27872 100644 --- a/db_sqlx_postgres/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::dev::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.DBResult.html b/db_sqlx_postgres/dev/type.DBResult.html index 2e4d5880..d0ea8779 100644 --- a/db_sqlx_postgres/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/type.DBResult.html @@ -4,6 +4,6 @@
-

Type Definition db_sqlx_postgres::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/enum.ConnectionOptions.html b/db_sqlx_postgres/enum.ConnectionOptions.html index 4c678055..c0ccbb2d 100644 --- a/db_sqlx_postgres/enum.ConnectionOptions.html +++ b/db_sqlx_postgres/enum.ConnectionOptions.html @@ -11,27 +11,27 @@

Variants

Fresh(Fresh)

fresh connection

Existing(Conn)

existing connection

Trait Implementations

database specific pool-type

-

database specific error-type +

database specific error-type create connection pool Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/fn.map_register_err.html b/db_sqlx_postgres/errors/fn.map_register_err.html index 7837f1cd..c04fb330 100644 --- a/db_sqlx_postgres/errors/fn.map_register_err.html +++ b/db_sqlx_postgres/errors/fn.map_register_err.html @@ -5,5 +5,5 @@
pub fn map_register_err(e: Error) -> DBError
Expand description

map postgres errors to DBError types

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/fn.map_row_not_found_err.html b/db_sqlx_postgres/errors/fn.map_row_not_found_err.html index 0dfc632d..cdcadf4d 100644 --- a/db_sqlx_postgres/errors/fn.map_row_not_found_err.html +++ b/db_sqlx_postgres/errors/fn.map_row_not_found_err.html @@ -5,5 +5,5 @@
pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
Expand description

map custom row not found error to DB error

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/index.html b/db_sqlx_postgres/errors/index.html index e984672f..33a638cf 100644 --- a/db_sqlx_postgres/errors/index.html +++ b/db_sqlx_postgres/errors/index.html @@ -8,5 +8,5 @@

Functions

map postgres errors to DBError types

map custom row not found error to DB error

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/index.html b/db_sqlx_postgres/index.html index 686c9fc1..e36c0e1f 100644 --- a/db_sqlx_postgres/index.html +++ b/db_sqlx_postgres/index.html @@ -11,5 +11,5 @@

Represents notification

Enums

Connect to databse

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/attr.async_trait.html b/db_sqlx_postgres/prelude/dev/attr.async_trait.html index cde614e0..a7425cac 100644 --- a/db_sqlx_postgres/prelude/dev/attr.async_trait.html +++ b/db_sqlx_postgres/prelude/dev/attr.async_trait.html @@ -4,5 +4,5 @@
#[async_trait]
+

Attribute Macro db_sqlx_postgres::prelude::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/enum.DBError.html b/db_sqlx_postgres/prelude/dev/enum.DBError.html index 9c31494c..58532d7e 100644 --- a/db_sqlx_postgres/prelude/dev/enum.DBError.html +++ b/db_sqlx_postgres/prelude/dev/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/enum.Login.html b/db_sqlx_postgres/prelude/dev/enum.Login.html index 9d747a77..8b407afe 100644 --- a/db_sqlx_postgres/prelude/dev/enum.Login.html +++ b/db_sqlx_postgres/prelude/dev/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/index.html b/db_sqlx_postgres/prelude/dev/index.html index 0388e042..90c5745b 100644 --- a/db_sqlx_postgres/prelude/dev/index.html +++ b/db_sqlx_postgres/prelude/dev/index.html @@ -34,5 +34,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html b/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html index 124fb1e2..6b587fed 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html b/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html index e57e9b2a..2f456d46 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/index.html b/db_sqlx_postgres/prelude/dev/prelude/index.html index dfee8d19..90ab8cb3 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/index.html +++ b/db_sqlx_postgres/prelude/dev/prelude/index.html @@ -31,5 +31,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html index e8cff97d..a3e6b076 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html index b63c4d1d..0d90d001 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html index 22b09cfe..537a7fe2 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html index d736b203..1765bb73 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html index 72b39d0f..52b5c19e 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html index ba8c318d..4883d32a 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html index 86c19c53..ce0aa326 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html index 4e103a98..0bd72f82 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html index 3bc1a660..714c5db8 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html index be8ecf95..0ec24060 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html index 3f278705..b9b160b6 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html index d3b2fc25..24b90bb7 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html b/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html index dec50fe8..3a74d838 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::dev::prelude::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html index 7c5ff378..4962dd13 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html index 5596a237..3f0e4ec2 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::dev::prelude::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html index 3abdbef4..b5d729e2 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::prelude::dev::prelude::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html index 7413476e..4152a120 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html index 91feb90d..ddacd4f0 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::prelude::dev::prelude::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html b/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html index 23f03446..a04917f9 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::prelude::dev::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.AddNotification.html b/db_sqlx_postgres/prelude/dev/struct.AddNotification.html index 3a259c73..23e8b700 100644 --- a/db_sqlx_postgres/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/prelude/dev/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Captcha.html b/db_sqlx_postgres/prelude/dev/struct.Captcha.html index 240e7280..ab5d2e92 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Captcha.html +++ b/db_sqlx_postgres/prelude/dev/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html index d3e28b7b..e3dcb072 100644 --- a/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Level.html b/db_sqlx_postgres/prelude/dev/struct.Level.html index 6641d7e0..8e311fae 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Level.html +++ b/db_sqlx_postgres/prelude/dev/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.NameHash.html b/db_sqlx_postgres/prelude/dev/struct.NameHash.html index 2863528b..5daa4ff9 100644 --- a/db_sqlx_postgres/prelude/dev/struct.NameHash.html +++ b/db_sqlx_postgres/prelude/dev/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Notification.html b/db_sqlx_postgres/prelude/dev/struct.Notification.html index c412858b..9160bac2 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Notification.html +++ b/db_sqlx_postgres/prelude/dev/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Register.html b/db_sqlx_postgres/prelude/dev/struct.Register.html index 9c0c6026..52bcf66a 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Register.html +++ b/db_sqlx_postgres/prelude/dev/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Secret.html b/db_sqlx_postgres/prelude/dev/struct.Secret.html index 57d1d8e9..ad9ff466 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Secret.html +++ b/db_sqlx_postgres/prelude/dev/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html index df67e0ea..369532f8 100644 --- a/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html b/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html index eec26eee..129dcd34 100644 --- a/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html b/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html index 2379f18a..93d62d01 100644 --- a/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html index 1258df81..af114cfe 100644 --- a/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.Connect.html b/db_sqlx_postgres/prelude/dev/trait.Connect.html index df67d60f..ef669af2 100644 --- a/db_sqlx_postgres/prelude/dev/trait.Connect.html +++ b/db_sqlx_postgres/prelude/dev/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::dev::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.DBOps.html b/db_sqlx_postgres/prelude/dev/trait.DBOps.html index 4140f10e..55849e7e 100644 --- a/db_sqlx_postgres/prelude/dev/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/dev/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.GetConnection.html b/db_sqlx_postgres/prelude/dev/trait.GetConnection.html index eb9830a8..c06f48c9 100644 --- a/db_sqlx_postgres/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/dev/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::dev::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html b/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html index 22e2a9c2..8f59b689 100644 --- a/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::prelude::dev::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.Migrate.html b/db_sqlx_postgres/prelude/dev/trait.Migrate.html index b7a3f761..aae27a49 100644 --- a/db_sqlx_postgres/prelude/dev/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/dev/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/type.BoxDynError.html b/db_sqlx_postgres/prelude/dev/type.BoxDynError.html index 1382eabc..f49b56bf 100644 --- a/db_sqlx_postgres/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/dev/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::prelude::dev::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/type.DBResult.html b/db_sqlx_postgres/prelude/dev/type.DBResult.html index 89a2c3a4..d57942dd 100644 --- a/db_sqlx_postgres/prelude/dev/type.DBResult.html +++ b/db_sqlx_postgres/prelude/dev/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::prelude::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/enum.DBError.html b/db_sqlx_postgres/prelude/enum.DBError.html index 10dcab40..fe012c92 100644 --- a/db_sqlx_postgres/prelude/enum.DBError.html +++ b/db_sqlx_postgres/prelude/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/enum.Login.html b/db_sqlx_postgres/prelude/enum.Login.html index 7a40e55c..73701b6a 100644 --- a/db_sqlx_postgres/prelude/enum.Login.html +++ b/db_sqlx_postgres/prelude/enum.Login.html @@ -5,41 +5,41 @@
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/enum.DBError.html b/db_sqlx_postgres/prelude/errors/enum.DBError.html index 4bd9a126..62d16e6d 100644 --- a/db_sqlx_postgres/prelude/errors/enum.DBError.html +++ b/db_sqlx_postgres/prelude/errors/enum.DBError.html @@ -5,7 +5,7 @@
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +15,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +24,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/index.html b/db_sqlx_postgres/prelude/errors/index.html index f4ff0d2e..f90457a6 100644 --- a/db_sqlx_postgres/prelude/errors/index.html +++ b/db_sqlx_postgres/prelude/errors/index.html @@ -10,5 +10,5 @@

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/type.BoxDynError.html b/db_sqlx_postgres/prelude/errors/type.BoxDynError.html index db23bd61..8a647358 100644 --- a/db_sqlx_postgres/prelude/errors/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/errors/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::prelude::errors::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/type.DBResult.html b/db_sqlx_postgres/prelude/errors/type.DBResult.html index ecc1934f..3450ba20 100644 --- a/db_sqlx_postgres/prelude/errors/type.DBResult.html +++ b/db_sqlx_postgres/prelude/errors/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::prelude::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/index.html b/db_sqlx_postgres/prelude/index.html index d6a4fc9c..3f349737 100644 --- a/db_sqlx_postgres/prelude/index.html +++ b/db_sqlx_postgres/prelude/index.html @@ -36,5 +36,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/index.html b/db_sqlx_postgres/prelude/ops/index.html index 150725b1..a873a6d2 100644 --- a/db_sqlx_postgres/prelude/ops/index.html +++ b/db_sqlx_postgres/prelude/ops/index.html @@ -10,5 +10,5 @@

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.Connect.html b/db_sqlx_postgres/prelude/ops/trait.Connect.html index db6c4fad..ab659b1b 100644 --- a/db_sqlx_postgres/prelude/ops/trait.Connect.html +++ b/db_sqlx_postgres/prelude/ops/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::ops::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.DBOps.html b/db_sqlx_postgres/prelude/ops/trait.DBOps.html index cf7e0eb5..37162008 100644 --- a/db_sqlx_postgres/prelude/ops/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/ops/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.GetConnection.html b/db_sqlx_postgres/prelude/ops/trait.GetConnection.html index 48bc303d..0fbe0a35 100644 --- a/db_sqlx_postgres/prelude/ops/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/ops/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::ops::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.Migrate.html b/db_sqlx_postgres/prelude/ops/trait.Migrate.html index 6cc5cfc7..cd08ad79 100644 --- a/db_sqlx_postgres/prelude/ops/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/ops/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.AddNotification.html b/db_sqlx_postgres/prelude/struct.AddNotification.html index 89da12d7..0e94f608 100644 --- a/db_sqlx_postgres/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/prelude/struct.AddNotification.html @@ -5,46 +5,46 @@
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

mesage of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Captcha.html b/db_sqlx_postgres/prelude/struct.Captcha.html index 832e58ed..cce65626 100644 --- a/db_sqlx_postgres/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/prelude/struct.Captcha.html @@ -5,46 +5,46 @@
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/prelude/struct.CreateCaptcha.html index 387f9483..9c517c85 100644 --- a/db_sqlx_postgres/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/prelude/struct.CreateCaptcha.html @@ -5,44 +5,44 @@
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data requried to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Level.html b/db_sqlx_postgres/prelude/struct.Level.html index 9a5d8230..958402c1 100644 --- a/db_sqlx_postgres/prelude/struct.Level.html +++ b/db_sqlx_postgres/prelude/struct.Level.html @@ -5,39 +5,39 @@
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.NameHash.html b/db_sqlx_postgres/prelude/struct.NameHash.html index 340acd11..85d6d604 100644 --- a/db_sqlx_postgres/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/prelude/struct.NameHash.html @@ -5,41 +5,41 @@
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Notification.html b/db_sqlx_postgres/prelude/struct.Notification.html index ef21ba8d..66d9c457 100644 --- a/db_sqlx_postgres/prelude/struct.Notification.html +++ b/db_sqlx_postgres/prelude/struct.Notification.html @@ -5,49 +5,49 @@
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Register.html b/db_sqlx_postgres/prelude/struct.Register.html index d3925f48..c852e9b9 100644 --- a/db_sqlx_postgres/prelude/struct.Register.html +++ b/db_sqlx_postgres/prelude/struct.Register.html @@ -5,45 +5,45 @@
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Secret.html b/db_sqlx_postgres/prelude/struct.Secret.html index cd0d99c1..d8a0fb59 100644 --- a/db_sqlx_postgres/prelude/struct.Secret.html +++ b/db_sqlx_postgres/prelude/struct.Secret.html @@ -5,40 +5,40 @@
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html index ef12f1ce..eb2707a6 100644 --- a/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html @@ -5,44 +5,44 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/prelude/struct.TrafficPattern.html index ab85650e..c3ff711d 100644 --- a/db_sqlx_postgres/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/prelude/struct.TrafficPattern.html @@ -5,44 +5,44 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/prelude/struct.UpdateEmail.html index 8d56e348..a1e5da1f 100644 --- a/db_sqlx_postgres/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/prelude/struct.UpdateEmail.html @@ -5,41 +5,41 @@
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/tests/fn.database_works.html b/db_sqlx_postgres/prelude/tests/fn.database_works.html index 7138eb55..963b8a0c 100644 --- a/db_sqlx_postgres/prelude/tests/fn.database_works.html +++ b/db_sqlx_postgres/prelude/tests/fn.database_works.html @@ -4,6 +4,6 @@
pub async fn database_works<T>(
    db: &'_ T,
    p: &'_ Register<'a>,
    c: &'_ CreateCaptcha<'a>,
    l: &'_ [Level],
    tp: &'_ TrafficPattern,
    an: &'_ AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

-
+

Function db_sqlx_postgres::prelude::tests::database_works

source · []
pub async fn database_works<T>(
    db: &'_ T,
    p: &'_ Register<'a>,
    c: &'_ CreateCaptcha<'a>,
    l: &'_ [Level],
    tp: &'_ TrafficPattern,
    an: &'_ AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/tests/index.html b/db_sqlx_postgres/prelude/tests/index.html index 47f2681b..71da061a 100644 --- a/db_sqlx_postgres/prelude/tests/index.html +++ b/db_sqlx_postgres/prelude/tests/index.html @@ -7,5 +7,5 @@

Module db_sqlx_postgres::prelude::tests

source · []
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html index 5e41b88a..b6b03654 100644 --- a/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html @@ -5,8 +5,8 @@
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.Connect.html b/db_sqlx_postgres/prelude/trait.Connect.html index cd7dc587..9c4a8e12 100644 --- a/db_sqlx_postgres/prelude/trait.Connect.html +++ b/db_sqlx_postgres/prelude/trait.Connect.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::Connect

source · []
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create databse connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.DBOps.html b/db_sqlx_postgres/prelude/trait.DBOps.html index 2b20d4ac..2be71a48 100644 --- a/db_sqlx_postgres/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/trait.DBOps.html @@ -5,5 +5,5 @@
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.GetConnection.html b/db_sqlx_postgres/prelude/trait.GetConnection.html index 126fe582..5fd16f62 100644 --- a/db_sqlx_postgres/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/trait.GetConnection.html @@ -7,10 +7,10 @@

Trait db_sqlx_postgres::prelude::GetConnection

source · []
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.MCDatabase.html b/db_sqlx_postgres/prelude/trait.MCDatabase.html index 8f8a0018..26f19058 100644 --- a/db_sqlx_postgres/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/prelude/trait.MCDatabase.html @@ -4,78 +4,78 @@
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
-
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; - fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; - fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; - fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; - fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; +

Trait db_sqlx_postgres::prelude::MCDatabase

source · []
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 35 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.Migrate.html b/db_sqlx_postgres/prelude/trait.Migrate.html index 7ec360e4..9266d680 100644 --- a/db_sqlx_postgres/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/trait.Migrate.html @@ -5,9 +5,9 @@
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/type.BoxDynError.html b/db_sqlx_postgres/prelude/type.BoxDynError.html index 02a5b4b9..be5c3fc7 100644 --- a/db_sqlx_postgres/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/type.BoxDynError.html @@ -4,6 +4,6 @@
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

-
+

Type Definition db_sqlx_postgres::prelude::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Sync + Send + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/type.DBResult.html b/db_sqlx_postgres/prelude/type.DBResult.html index 0161044f..63c35b34 100644 --- a/db_sqlx_postgres/prelude/type.DBResult.html +++ b/db_sqlx_postgres/prelude/type.DBResult.html @@ -4,6 +4,6 @@
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

-
+

Type Definition db_sqlx_postgres::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.Conn.html b/db_sqlx_postgres/struct.Conn.html index d3c96152..fce0c270 100644 --- a/db_sqlx_postgres/struct.Conn.html +++ b/db_sqlx_postgres/struct.Conn.html @@ -5,25 +5,25 @@
pub struct Conn(pub PgPool);
Expand description

Use an existing database pool

-

Tuple Fields

0: PgPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Tuple Fields

0: PgPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.Database.html b/db_sqlx_postgres/struct.Database.html index 3e08be04..78458b91 100644 --- a/db_sqlx_postgres/struct.Database.html +++ b/db_sqlx_postgres/struct.Database.html @@ -6,68 +6,68 @@

Database

pub struct Database {
     pub pool: PgPool,
-}

Fields

pool: PgPool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

featch PoWConfig fetches

-

featch PoWConfig solves

-

featch PoWConfig confirms

-

database specific error-type +}

Fields

pool: PgPool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

featch PoWConfig fetches

+

featch PoWConfig solves

+

featch PoWConfig confirms

+

database specific error-type run migrations Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

clone DB

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

clone DB

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.Fresh.html b/db_sqlx_postgres/struct.Fresh.html index eaeee262..15938452 100644 --- a/db_sqlx_postgres/struct.Fresh.html +++ b/db_sqlx_postgres/struct.Fresh.html @@ -6,27 +6,27 @@

Fresh

pub struct Fresh {
     pub pool_options: PgPoolOptions,
-    pub disable_logging: bool,
-    pub url: String,
-}

Fields

pool_options: PgPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub disable_logging: bool, + pub url: String, +}

Fields

pool_options: PgPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.InnerNotification.html b/db_sqlx_postgres/struct.InnerNotification.html index 1aea5be0..7011ba54 100644 --- a/db_sqlx_postgres/struct.InnerNotification.html +++ b/db_sqlx_postgres/struct.InnerNotification.html @@ -5,47 +5,47 @@
pub struct InnerNotification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<OffsetDateTime>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<OffsetDateTime>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<OffsetDateTime>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<OffsetDateTime>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index f6df42d4..d8077d62 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl<'a> Clone for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Clone for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Clone for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Clone for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Clone for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Clone for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Clone for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Clone for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Clone for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Clone for Secret","synthetic":false,"types":["db_core::Secret"]},{"text":"impl Clone for Box<dyn MCDatabase>","synthetic":false,"types":["alloc::boxed::Box"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Clone for Database","synthetic":false,"types":["db_sqlx_postgres::Database"]},{"text":"impl Clone for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Clone for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Clone for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Clone for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Clone for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Clone for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Clone for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Clone for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Clone for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Clone for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Clone for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Clone for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Clone for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Clone for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Clone for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Clone for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Clone for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Clone for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Clone for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Clone for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Clone for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Clone for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K: Clone, V: Clone> Clone for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Clone for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Clone for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Clone for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Clone for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Clone for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Clone for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Clone for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Clone for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Clone for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Clone for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Clone for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Clone for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Clone for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["db_core"] = [{"text":"impl<'a> Clone for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Clone for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Clone for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Clone for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Clone for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Clone for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Clone for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Clone for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Clone for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Clone for Secret","synthetic":false,"types":["db_core::Secret"]},{"text":"impl Clone for Box<dyn MCDatabase>","synthetic":false,"types":["alloc::boxed::Box"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Clone for Database","synthetic":false,"types":["db_sqlx_postgres::Database"]},{"text":"impl Clone for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Clone for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Clone for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Clone for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Clone for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Clone for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Clone for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Clone for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Clone for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Clone for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Clone for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Clone for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Clone for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Clone for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Clone for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Clone for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Clone for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Clone for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Clone for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Clone for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Clone for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Clone for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K: Clone, V: Clone> Clone for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Clone for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Clone for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Clone for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Clone for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Clone for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Clone for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Clone for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Clone for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Clone for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Clone for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Clone for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Clone for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Clone for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index f6617d87..72d22fe4 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl<'a> PartialEq<Register<'a>> for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> PartialEq<UpdateEmail<'a>> for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> PartialEq<Login<'a>> for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl PartialEq<NameHash> for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl PartialEq<StatsUnixTimestamp> for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl PartialEq<Notification> for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> PartialEq<AddNotification<'a>> for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl PartialEq<TrafficPattern> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> PartialEq<CreateCaptcha<'a>> for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl PartialEq<Captcha> for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl PartialEq<Secret> for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl PartialEq<InnerNotification> for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl PartialEq<AddNotificationRequest> for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl PartialEq<NotificationResp> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl PartialEq<DBErrorWrapper> for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl PartialEq<SmtpErrorWrapper> for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl PartialEq<PageError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl PartialEq<CaptchaStats> for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl PartialEq<Real> for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl PartialEq<Dummy> for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl<'a> PartialEq<Register<'a>> for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> PartialEq<UpdateEmail<'a>> for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> PartialEq<Login<'a>> for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl PartialEq<NameHash> for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl PartialEq<StatsUnixTimestamp> for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl PartialEq<Notification> for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> PartialEq<AddNotification<'a>> for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl PartialEq<TrafficPattern> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> PartialEq<CreateCaptcha<'a>> for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl PartialEq<Captcha> for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl PartialEq<Secret> for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl PartialEq<InnerNotification> for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl PartialEq<AddNotificationRequest> for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl PartialEq<NotificationResp> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl PartialEq<DBErrorWrapper> for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl PartialEq<SmtpErrorWrapper> for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl PartialEq<PageError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl PartialEq<CaptchaStats> for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl PartialEq<Real> for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl PartialEq<Dummy> for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index e670d2b8..b9715687 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["db_sqlx_postgres"] = [{"text":"impl From<InnerNotification> for Notification","synthetic":false,"types":["db_core::Notification"]}]; -implementors["mcaptcha"] = [{"text":"impl From<ChangePasswordReqest> for UpdatePassword","synthetic":false,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl From<&'_ TrafficPatternRequest> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl From<UninitializedFieldError> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<String> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<UninitializedFieldError> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<String> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<Notification> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<DBError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<RecvError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<MailboxError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<DBError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<Notification> for Notification","synthetic":false,"types":["mcaptcha::pages::panel::notifications::Notification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl From<InnerNotification> for Notification","synthetic":false,"types":["db_core::Notification"]}]; +implementors["mcaptcha"] = [{"text":"impl From<ChangePasswordReqest> for UpdatePassword","synthetic":false,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl From<&'_ TrafficPatternRequest> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl From<UninitializedFieldError> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<String> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<UninitializedFieldError> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<String> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<Notification> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<DBError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<RecvError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<MailboxError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<DBError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<Notification> for Notification","synthetic":false,"types":["mcaptcha::pages::panel::notifications::Notification"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 241dd49a..82776424 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Default for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Default for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Default for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Default for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Default for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Default for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Default for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Default for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Default for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Default for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Default for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Default for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Default for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Default for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Default for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Default for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Default for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Default for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl Default for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Default for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Default for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Default for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Default for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Default for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Default for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Default for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Default for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Default for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Default for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Default for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Default for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Default for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Default for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Default for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Default for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Default for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index f67d8eb0..6b990cdb 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Debug for DBError","synthetic":false,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Debug for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Debug for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Debug for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Debug for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Debug for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Debug for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Debug for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Debug for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Debug for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Debug for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Debug for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Debug for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Debug for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Debug for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Debug for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Debug for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Debug for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Debug for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Debug for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Debug for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Debug for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Debug for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Debug for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Debug for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Debug for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Debug for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Debug for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Debug for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Debug for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Debug for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Debug for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Debug for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl Debug for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Debug for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Debug for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Debug for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Debug for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Debug for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Debug for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Debug for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Debug for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Debug for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Debug for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl Debug for DBError","synthetic":false,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Debug for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Debug for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Debug for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Debug for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Debug for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Debug for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Debug for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Debug for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Debug for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Debug for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Debug for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Debug for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Debug for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Debug for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Debug for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Debug for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Debug for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Debug for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Debug for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Debug for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Debug for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Debug for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Debug for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Debug for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Debug for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Debug for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Debug for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Debug for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Debug for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Debug for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Debug for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Debug for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl Debug for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Debug for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Debug for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Debug for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Debug for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Debug for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Debug for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Debug for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Debug for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Debug for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Debug for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 7e355818..04f6d45c 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Display for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; -implementors["mcaptcha"] = [{"text":"impl Display for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Display for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Display for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Display for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; +implementors["db_core"] = [{"text":"impl Display for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; +implementors["mcaptcha"] = [{"text":"impl Display for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Display for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Display for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Display for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index 5ecc3550..97de3642 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; implementors["db_core"] = [{"text":"impl Freeze for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Freeze for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Freeze for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Freeze for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Freeze for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Freeze for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Freeze for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Freeze for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Freeze for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Freeze for Secret","synthetic":true,"types":["db_core::Secret"]}]; implementors["db_sqlx_postgres"] = [{"text":"impl Freeze for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Freeze for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Freeze for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Freeze for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Freeze for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Freeze for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Freeze for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Freeze for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Freeze for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Freeze for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Freeze for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Freeze for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Freeze for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Freeze for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Freeze for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Freeze for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Freeze for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Freeze for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Freeze for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Freeze for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Freeze for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Freeze for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Freeze for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Freeze for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Freeze for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Freeze for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Freeze for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Freeze for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Freeze for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Freeze for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Freeze for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Freeze for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Freeze for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Freeze for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Freeze for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Freeze for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Freeze for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Freeze for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Freeze for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Freeze for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Freeze for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Freeze for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Freeze for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Freeze for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Freeze for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Freeze for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Freeze for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Freeze for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Freeze for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Freeze for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Freeze for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Freeze for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Freeze for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Freeze for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Freeze for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Freeze for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Freeze for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Freeze for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Freeze for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Freeze for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Freeze for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Freeze for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Freeze for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Freeze for SudoPage<'a, K, V>","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Freeze for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Freeze for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Freeze for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Freeze for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Freeze for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Freeze for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Freeze for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Freeze for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Freeze for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Freeze for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Freeze for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Freeze for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Freeze for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Freeze for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Freeze for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Freeze for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Freeze for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Freeze for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Freeze for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Freeze for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Freeze for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Freeze for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Freeze for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Freeze for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Freeze for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Freeze for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Freeze for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Freeze for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Freeze for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Freeze for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Freeze for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Freeze for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Freeze for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Freeze for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Freeze for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Freeze for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Freeze for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Freeze for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Freeze for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Freeze for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Freeze for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Freeze for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Freeze for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Freeze for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Freeze for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Freeze for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Freeze for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Freeze for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Freeze for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Freeze for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["mcaptcha"] = [{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Freeze for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Freeze for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Freeze for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Freeze for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Freeze for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Freeze for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Freeze for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Freeze for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Freeze for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Freeze for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Freeze for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Freeze for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Freeze for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Freeze for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Freeze for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Freeze for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Freeze for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Freeze for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Freeze for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Freeze for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Freeze for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Freeze for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Freeze for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Freeze for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Freeze for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Freeze for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Freeze for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Freeze for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Freeze for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Freeze for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Freeze for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Freeze for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Freeze for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Freeze for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Freeze for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Freeze for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Freeze for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Freeze for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Freeze for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Freeze for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Freeze for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Freeze for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Freeze for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Freeze for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Freeze for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Freeze for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Freeze for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Freeze for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Freeze for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Freeze for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Freeze for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Freeze for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Freeze for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Freeze for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Freeze for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Freeze for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Freeze for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Freeze for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Freeze for SudoPage<'a, K, V>","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Freeze for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Freeze for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Freeze for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Freeze for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Freeze for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Freeze for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Freeze for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Freeze for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Freeze for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Freeze for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Freeze for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Freeze for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Freeze for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Freeze for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Freeze for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Freeze for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Freeze for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Freeze for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Freeze for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Freeze for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Freeze for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Freeze for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Freeze for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Freeze for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Freeze for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Freeze for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Freeze for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Freeze for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Freeze for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Freeze for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Freeze for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Freeze for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Freeze for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Freeze for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Freeze for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Freeze for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Freeze for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Freeze for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Freeze for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Freeze for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Freeze for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Freeze for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Freeze for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Freeze for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Freeze for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Freeze for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Freeze for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Freeze for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Freeze for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Freeze for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 6f91d19e..78bc0f74 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Send for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Send for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Send for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Send for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Send for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Send for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Send for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Send for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Send for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Send for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Send for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Send for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Send for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Send for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Send for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Send for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Send for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Send for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Send for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Send for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Send for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Send for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Send for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Send for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Send for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Send for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Send for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Send for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Send for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Send for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Send for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Send for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Send for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Send for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Send for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Send for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Send for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Send for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Send for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Send for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Send for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Send for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Send for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Send for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Send for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Send for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Send for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Send for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Send for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Send for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Send for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Send for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Send for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Send for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Send for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Send for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Send for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Send for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Send for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Send for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Send for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Send for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Send for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Send for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Send for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Send for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Send for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Send for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Send for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Send for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Send for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Send for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Send for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Send for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Send for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Send for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Send for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Send for SudoPage<'a, K, V> where
    K: Send,
    V: Send
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Send for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Send for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Send for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Send for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Send for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Send for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Send for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Send for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Send for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Send for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Send for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Send for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Send for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Send for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Send for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Send for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Send for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Send for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Send for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Send for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Send for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Send for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Send for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Send for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Send for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Send for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Send for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Send for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Send for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Send for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Send for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Send for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Send for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Send for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Send for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Send for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Send for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Send for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Send for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Send for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Send for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Send for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Send for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Send for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Send for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Send for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Send for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Send for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Send for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Send for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Send for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Send for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl Send for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Send for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Send for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Send for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Send for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Send for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Send for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Send for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Send for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Send for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Send for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Send for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Send for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Send for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Send for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Send for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Send for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Send for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Send for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Send for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Send for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Send for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Send for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Send for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Send for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Send for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Send for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Send for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Send for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Send for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Send for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Send for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Send for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Send for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Send for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Send for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Send for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Send for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Send for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Send for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Send for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Send for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Send for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Send for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Send for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Send for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Send for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Send for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Send for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Send for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Send for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Send for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Send for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Send for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Send for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Send for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Send for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Send for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Send for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Send for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Send for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Send for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Send for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Send for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Send for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Send for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Send for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Send for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Send for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Send for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Send for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Send for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Send for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Send for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Send for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Send for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Send for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Send for SudoPage<'a, K, V> where
    K: Send,
    V: Send
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Send for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Send for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Send for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Send for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Send for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Send for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Send for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Send for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Send for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Send for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Send for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Send for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Send for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Send for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Send for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Send for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Send for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Send for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Send for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Send for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Send for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Send for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Send for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Send for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Send for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Send for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Send for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Send for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Send for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Send for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Send for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Send for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Send for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Send for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Send for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Send for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Send for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Send for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Send for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Send for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Send for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Send for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Send for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Send for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Send for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Send for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Send for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Send for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Send for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Send for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Send for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Send for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index aec0bedf..90b441bc 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl<'a> StructuralPartialEq for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> StructuralPartialEq for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> StructuralPartialEq for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl StructuralPartialEq for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl StructuralPartialEq for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl StructuralPartialEq for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> StructuralPartialEq for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl StructuralPartialEq for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> StructuralPartialEq for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl StructuralPartialEq for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl StructuralPartialEq for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl StructuralPartialEq for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl StructuralPartialEq for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl StructuralPartialEq for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl StructuralPartialEq for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl StructuralPartialEq for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl<'a> StructuralPartialEq for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> StructuralPartialEq for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> StructuralPartialEq for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl StructuralPartialEq for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl StructuralPartialEq for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl StructuralPartialEq for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> StructuralPartialEq for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl StructuralPartialEq for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> StructuralPartialEq for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl StructuralPartialEq for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl StructuralPartialEq for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl StructuralPartialEq for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl StructuralPartialEq for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl StructuralPartialEq for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl StructuralPartialEq for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl StructuralPartialEq for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index 834419a4..17377ed3 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Sync for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Sync for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Sync for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Sync for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Sync for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Sync for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Sync for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Sync for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Sync for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Sync for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Sync for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Sync for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Sync for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Sync for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Sync for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Sync for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Sync for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Sync for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Sync for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Sync for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Sync for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Sync for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Sync for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Sync for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Sync for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Sync for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Sync for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Sync for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Sync for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Sync for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Sync for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Sync for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Sync for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Sync for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Sync for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Sync for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Sync for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Sync for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Sync for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Sync for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Sync for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Sync for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Sync for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Sync for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Sync for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Sync for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Sync for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Sync for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Sync for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Sync for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Sync for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Sync for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Sync for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Sync for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Sync for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Sync for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Sync for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Sync for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Sync for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Sync for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Sync for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Sync for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Sync for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Sync for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Sync for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Sync for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Sync for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Sync for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Sync for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Sync for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Sync for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sync for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Sync for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Sync for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Sync for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Sync for SudoPage<'a, K, V> where
    K: Sync,
    V: Sync
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Sync for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Sync for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sync for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Sync for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Sync for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Sync for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Sync for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Sync for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Sync for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Sync for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Sync for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Sync for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Sync for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Sync for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Sync for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sync for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sync for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Sync for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Sync for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sync for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Sync for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Sync for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Sync for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Sync for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Sync for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Sync for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Sync for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Sync for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Sync for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Sync for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Sync for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Sync for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Sync for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Sync for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Sync for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Sync for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Sync for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Sync for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Sync for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Sync for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Sync for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Sync for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Sync for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Sync for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Sync for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Sync for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Sync for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Sync for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Sync for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Sync for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl Sync for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Sync for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Sync for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Sync for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Sync for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Sync for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Sync for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Sync for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Sync for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Sync for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Sync for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Sync for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Sync for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Sync for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Sync for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Sync for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Sync for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Sync for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Sync for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Sync for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Sync for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Sync for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Sync for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Sync for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Sync for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Sync for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Sync for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Sync for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Sync for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Sync for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Sync for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Sync for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Sync for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Sync for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Sync for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Sync for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Sync for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Sync for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Sync for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Sync for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Sync for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Sync for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Sync for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Sync for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Sync for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Sync for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Sync for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Sync for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Sync for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Sync for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Sync for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Sync for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Sync for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Sync for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Sync for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Sync for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Sync for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Sync for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Sync for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Sync for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Sync for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Sync for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Sync for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Sync for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Sync for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Sync for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Sync for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Sync for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Sync for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Sync for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Sync for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sync for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Sync for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Sync for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Sync for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Sync for SudoPage<'a, K, V> where
    K: Sync,
    V: Sync
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Sync for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Sync for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sync for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Sync for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Sync for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Sync for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Sync for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Sync for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Sync for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Sync for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Sync for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Sync for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Sync for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Sync for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Sync for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sync for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sync for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Sync for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Sync for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sync for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Sync for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Sync for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Sync for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Sync for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Sync for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Sync for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Sync for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Sync for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Sync for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Sync for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Sync for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Sync for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Sync for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Sync for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Sync for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Sync for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Sync for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Sync for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Sync for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Sync for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Sync for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Sync for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Sync for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Sync for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Sync for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Sync for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Sync for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Sync for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Sync for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Sync for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index d5a6a739..0d2ce438 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Unpin for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Unpin for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Unpin for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Unpin for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Unpin for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Unpin for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Unpin for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Unpin for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Unpin for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Unpin for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Unpin for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Unpin for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Unpin for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Unpin for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Unpin for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Unpin for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Unpin for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Unpin for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Unpin for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Unpin for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Unpin for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Unpin for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Unpin for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Unpin for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Unpin for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Unpin for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Unpin for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Unpin for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Unpin for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Unpin for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Unpin for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Unpin for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Unpin for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Unpin for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Unpin for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Unpin for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Unpin for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Unpin for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Unpin for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Unpin for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Unpin for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Unpin for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Unpin for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Unpin for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Unpin for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Unpin for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Unpin for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Unpin for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Unpin for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Unpin for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Unpin for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Unpin for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Unpin for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Unpin for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Unpin for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Unpin for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Unpin for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Unpin for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Unpin for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Unpin for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Unpin for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Unpin for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Unpin for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Unpin for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Unpin for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Unpin for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Unpin for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Unpin for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Unpin for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Unpin for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Unpin for SudoPage<'a, K, V> where
    K: Unpin,
    V: Unpin
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Unpin for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Unpin for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Unpin for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Unpin for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Unpin for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Unpin for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Unpin for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Unpin for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Unpin for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Unpin for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Unpin for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Unpin for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Unpin for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Unpin for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Unpin for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Unpin for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Unpin for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Unpin for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Unpin for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Unpin for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Unpin for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Unpin for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Unpin for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Unpin for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Unpin for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Unpin for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Unpin for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Unpin for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Unpin for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Unpin for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Unpin for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Unpin for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Unpin for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Unpin for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Unpin for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Unpin for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Unpin for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Unpin for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Unpin for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Unpin for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Unpin for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Unpin for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Unpin for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Unpin for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Unpin for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Unpin for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Unpin for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Unpin for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Unpin for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Unpin for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl Unpin for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Unpin for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Unpin for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Unpin for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Unpin for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Unpin for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Unpin for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Unpin for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Unpin for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Unpin for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Unpin for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Unpin for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Unpin for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Unpin for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Unpin for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Unpin for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Unpin for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Unpin for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Unpin for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Unpin for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Unpin for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Unpin for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Unpin for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Unpin for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Unpin for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Unpin for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Unpin for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Unpin for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Unpin for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Unpin for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Unpin for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Unpin for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Unpin for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Unpin for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Unpin for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Unpin for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Unpin for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Unpin for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Unpin for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Unpin for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Unpin for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Unpin for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Unpin for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Unpin for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Unpin for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Unpin for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Unpin for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Unpin for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Unpin for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Unpin for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Unpin for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Unpin for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Unpin for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Unpin for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Unpin for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Unpin for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Unpin for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Unpin for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Unpin for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Unpin for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Unpin for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Unpin for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Unpin for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Unpin for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Unpin for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Unpin for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Unpin for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Unpin for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Unpin for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Unpin for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Unpin for SudoPage<'a, K, V> where
    K: Unpin,
    V: Unpin
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Unpin for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Unpin for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Unpin for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Unpin for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Unpin for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Unpin for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Unpin for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Unpin for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Unpin for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Unpin for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Unpin for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Unpin for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Unpin for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Unpin for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Unpin for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Unpin for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Unpin for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Unpin for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Unpin for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Unpin for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Unpin for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Unpin for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Unpin for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Unpin for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Unpin for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Unpin for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Unpin for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Unpin for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Unpin for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Unpin for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Unpin for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Unpin for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Unpin for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Unpin for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Unpin for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Unpin for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Unpin for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Unpin for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Unpin for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Unpin for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Unpin for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Unpin for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Unpin for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Unpin for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Unpin for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Unpin for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Unpin for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Unpin for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Unpin for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Unpin for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js index e31badcd..444d3a0e 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Deref for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Deref for UNKNOWN_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Deref for ADVANCE_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Deref for EASY_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Deref for KEY","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Deref for GITHUB","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Deref for HOME","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Deref for SETTINGS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Deref for CREDIT_CARD","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Deref for HELP_CIRCLE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Deref for MESSAGE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Deref for DOCS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Deref for MCAPTCHA_TRANS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Deref for BAR_CHART","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Deref for INDEX_PAGE","synthetic":false,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Deref for SETTINGS","synthetic":false,"types":["mcaptcha::SETTINGS"]},{"text":"impl Deref for FILES","synthetic":false,"types":["mcaptcha::FILES"]},{"text":"impl Deref for JS","synthetic":false,"types":["mcaptcha::JS"]},{"text":"impl Deref for CSS","synthetic":false,"types":["mcaptcha::CSS"]},{"text":"impl Deref for MOBILE_CSS","synthetic":false,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Deref for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["mcaptcha"] = [{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Deref for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Deref for UNKNOWN_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Deref for ADVANCE_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Deref for EASY_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Deref for KEY","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Deref for GITHUB","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Deref for HOME","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Deref for SETTINGS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Deref for CREDIT_CARD","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Deref for HELP_CIRCLE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Deref for MESSAGE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Deref for DOCS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Deref for MCAPTCHA_TRANS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Deref for BAR_CHART","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Deref for INDEX_PAGE","synthetic":false,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Deref for SETTINGS","synthetic":false,"types":["mcaptcha::SETTINGS"]},{"text":"impl Deref for FILES","synthetic":false,"types":["mcaptcha::FILES"]},{"text":"impl Deref for JS","synthetic":false,"types":["mcaptcha::JS"]},{"text":"impl Deref for CSS","synthetic":false,"types":["mcaptcha::CSS"]},{"text":"impl Deref for MOBILE_CSS","synthetic":false,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Deref for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index a771d561..1ad263da 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl !RefUnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> RefUnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> RefUnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> RefUnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl RefUnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl RefUnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> RefUnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl RefUnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> RefUnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl RefUnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl RefUnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl RefUnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl RefUnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl RefUnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl RefUnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl RefUnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl RefUnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl RefUnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl RefUnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl RefUnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl RefUnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl RefUnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl RefUnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl RefUnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl RefUnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl RefUnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl RefUnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl RefUnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl RefUnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl RefUnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl RefUnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl RefUnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl RefUnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl RefUnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl RefUnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl RefUnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl RefUnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl RefUnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl RefUnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl RefUnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl RefUnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl RefUnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl RefUnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl RefUnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl RefUnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl RefUnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl RefUnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl RefUnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl RefUnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !RefUnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl RefUnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl RefUnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl RefUnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl RefUnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl RefUnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl RefUnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !RefUnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !RefUnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !RefUnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl RefUnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V> where
    K: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> RefUnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl RefUnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl RefUnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl RefUnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl RefUnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl RefUnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl RefUnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl RefUnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl RefUnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl RefUnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl RefUnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl RefUnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl RefUnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl RefUnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl RefUnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl RefUnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl RefUnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl RefUnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl RefUnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl RefUnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl RefUnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl RefUnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl RefUnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl RefUnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl RefUnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl RefUnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl RefUnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl RefUnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl RefUnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl RefUnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl RefUnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl RefUnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl RefUnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl RefUnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl RefUnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl RefUnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl RefUnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl RefUnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl RefUnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl RefUnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl RefUnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl RefUnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl !RefUnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> RefUnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> RefUnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> RefUnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl RefUnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl RefUnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> RefUnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl RefUnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> RefUnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl RefUnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl RefUnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl RefUnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl RefUnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl RefUnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl RefUnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl RefUnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl RefUnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl RefUnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl RefUnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl RefUnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl RefUnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl RefUnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl RefUnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl RefUnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl RefUnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl RefUnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl RefUnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl RefUnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl RefUnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl RefUnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl RefUnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl RefUnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl RefUnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl RefUnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl RefUnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl RefUnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl RefUnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl RefUnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl RefUnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl RefUnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl RefUnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl RefUnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl RefUnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl RefUnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl RefUnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl RefUnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl RefUnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl RefUnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl RefUnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !RefUnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl RefUnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl RefUnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl RefUnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl RefUnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl RefUnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl RefUnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !RefUnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !RefUnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !RefUnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl RefUnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V> where
    K: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> RefUnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl RefUnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl RefUnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl RefUnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl RefUnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl RefUnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl RefUnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl RefUnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl RefUnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl RefUnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl RefUnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl RefUnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl RefUnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl RefUnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl RefUnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl RefUnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl RefUnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl RefUnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl RefUnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl RefUnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl RefUnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl RefUnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl RefUnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl RefUnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl RefUnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl RefUnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl RefUnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl RefUnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl RefUnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl RefUnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl RefUnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl RefUnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl RefUnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl RefUnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl RefUnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl RefUnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl RefUnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl RefUnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl RefUnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl RefUnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl RefUnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl RefUnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 23fe39eb..f6a2292d 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl !UnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> UnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> UnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> UnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl UnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl UnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> UnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl UnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> UnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl UnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl UnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl UnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl UnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl UnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl UnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl UnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl UnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl UnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl UnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl UnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl UnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl UnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl UnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl UnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl UnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl UnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl UnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl UnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl UnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl UnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl UnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl UnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl UnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl UnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl UnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl UnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl UnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl UnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl UnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl UnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl UnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl UnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl UnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl UnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl UnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl UnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl UnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl UnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl UnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl UnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl UnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl UnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl UnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !UnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl UnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl UnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl UnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl UnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl UnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl UnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !UnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !UnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !UnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl UnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V> where
    K: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl UnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> UnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl UnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl UnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl UnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl UnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl UnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl UnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl UnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> UnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> UnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl UnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl UnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> UnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl UnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl UnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl UnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl UnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl UnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl UnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl UnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl UnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl UnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl UnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl UnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl UnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl UnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl UnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl UnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl UnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl UnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl UnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl UnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl UnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl UnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl UnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl UnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl UnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl UnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl UnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl UnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl UnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl UnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl UnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl UnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl UnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl UnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl UnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl !UnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> UnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> UnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> UnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl UnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl UnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> UnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl UnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> UnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl UnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl UnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl UnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl UnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl UnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl UnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl UnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl UnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl UnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl UnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl UnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl UnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl UnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl UnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl UnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl UnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl UnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl UnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl UnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl UnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl UnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl UnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl UnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl UnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl UnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl UnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl UnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl UnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl UnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl UnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl UnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl UnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl UnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl UnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl UnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl UnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl UnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl UnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl UnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl UnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl UnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl UnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl UnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl UnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !UnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl UnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl UnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl UnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl UnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl UnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl UnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !UnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !UnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !UnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl UnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V> where
    K: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl UnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> UnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl UnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl UnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl UnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl UnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl UnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl UnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl UnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> UnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> UnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl UnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl UnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> UnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl UnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl UnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl UnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl UnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl UnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl UnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl UnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl UnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["mcaptcha::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl UnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl UnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl UnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl UnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl UnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl UnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl UnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl UnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl UnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl UnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl UnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl UnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl UnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl UnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl UnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl UnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl UnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl UnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl UnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl UnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl UnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl UnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl UnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl UnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl UnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl UnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sailfish/private/trait.Sealed.js b/implementors/sailfish/private/trait.Sealed.js index 4eed437b..f4571fd9 100644 --- a/implementors/sailfish/private/trait.Sealed.js +++ b/implementors/sailfish/private/trait.Sealed.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> Sealed for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Sealed for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Sealed for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Sealed for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sealed for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Sealed for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["mcaptcha"] = [{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> Sealed for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Sealed for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Sealed for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Sealed for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sealed for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Sealed for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sailfish/trait.TemplateOnce.js b/implementors/sailfish/trait.TemplateOnce.js index ab0ec27b..0814b2df 100644 --- a/implementors/sailfish/trait.TemplateOnce.js +++ b/implementors/sailfish/trait.TemplateOnce.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> TemplateOnce for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> TemplateOnce for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> TemplateOnce for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl TemplateOnce for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> TemplateOnce for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["mcaptcha"] = [{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> TemplateOnce for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> TemplateOnce for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> TemplateOnce for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl TemplateOnce for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> TemplateOnce for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/error/trait.Error.js b/implementors/std/error/trait.Error.js index 44b245f3..bbea1f2e 100644 --- a/implementors/std/error/trait.Error.js +++ b/implementors/std/error/trait.Error.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Error for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; -implementors["mcaptcha"] = [{"text":"impl Error for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Error for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Error for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Error for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; +implementors["db_core"] = [{"text":"impl Error for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; +implementors["mcaptcha"] = [{"text":"impl Error for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Error for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Error for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Error for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/mcaptcha/all.html b/mcaptcha/all.html index 9650149a..fa592c3a 100644 --- a/mcaptcha/all.html +++ b/mcaptcha/all.html @@ -3,5 +3,5 @@

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Constants

+

Crate mcaptcha

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/mcaptcha/api/index.html b/mcaptcha/api/index.html index 6d57c5b1..96ee2aa6 100644 --- a/mcaptcha/api/index.html +++ b/mcaptcha/api/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/fn.services.html b/mcaptcha/api/v1/account/delete/fn.services.html index 0d6f8329..1bc49755 100644 --- a/mcaptcha/api/v1/account/delete/fn.services.html +++ b/mcaptcha/api/v1/account/delete/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::account::delete::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/index.html b/mcaptcha/api/v1/account/delete/index.html index 9c85f50c..7aba8074 100644 --- a/mcaptcha/api/v1/account/delete/index.html +++ b/mcaptcha/api/v1/account/delete/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::account::delete

source · []

Modules

Structs

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html b/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html index 882ff1d8..afaab338 100644 --- a/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html +++ b/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html @@ -4,5 +4,5 @@
pub async fn delete_user(name: &str, data: &AppData) -> Result<(), ServiceError>
+

Function mcaptcha::api::v1::account::delete::runners::delete_user

source · []
pub async fn delete_user(name: &str, data: &AppData) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/runners/index.html b/mcaptcha/api/v1/account/delete/runners/index.html index 283956f2..9ec3d7ca 100644 --- a/mcaptcha/api/v1/account/delete/runners/index.html +++ b/mcaptcha/api/v1/account/delete/runners/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/struct.delete_account.html b/mcaptcha/api/v1/account/delete/struct.delete_account.html index 9bf9e712..65ce380b 100644 --- a/mcaptcha/api/v1/account/delete/struct.delete_account.html +++ b/mcaptcha/api/v1/account/delete/struct.delete_account.html @@ -4,25 +4,25 @@
pub struct delete_account;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::account::delete::delete_account

source · []
pub struct delete_account;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/fn.services.html b/mcaptcha/api/v1/account/email/fn.services.html index e48d07bc..8ae7f9d7 100644 --- a/mcaptcha/api/v1/account/email/fn.services.html +++ b/mcaptcha/api/v1/account/email/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::account::email::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/index.html b/mcaptcha/api/v1/account/email/index.html index 322ba2ca..db63aae1 100644 --- a/mcaptcha/api/v1/account/email/index.html +++ b/mcaptcha/api/v1/account/email/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::account::email

source · []

Structs

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/struct.Email.html b/mcaptcha/api/v1/account/email/struct.Email.html index a3d2cded..463e638c 100644 --- a/mcaptcha/api/v1/account/email/struct.Email.html +++ b/mcaptcha/api/v1/account/email/struct.Email.html @@ -5,34 +5,34 @@
pub struct Email {
-    pub email: String,
-}

Fields

email: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub email: String, +}

Fields

email: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/struct.email_exists.html b/mcaptcha/api/v1/account/email/struct.email_exists.html index 30397632..1a7b5f4e 100644 --- a/mcaptcha/api/v1/account/email/struct.email_exists.html +++ b/mcaptcha/api/v1/account/email/struct.email_exists.html @@ -4,25 +4,25 @@
pub struct email_exists;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::account::email::email_exists

source · []
pub struct email_exists;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/struct.set_email.html b/mcaptcha/api/v1/account/email/struct.set_email.html index b107f98b..d71c5217 100644 --- a/mcaptcha/api/v1/account/email/struct.set_email.html +++ b/mcaptcha/api/v1/account/email/struct.set_email.html @@ -5,25 +5,25 @@
pub struct set_email;
Expand description

update email

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/fn.services.html b/mcaptcha/api/v1/account/fn.services.html index cb86a210..f0034a76 100644 --- a/mcaptcha/api/v1/account/fn.services.html +++ b/mcaptcha/api/v1/account/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::account::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/index.html b/mcaptcha/api/v1/account/index.html index 1483fa85..b2ef62fa 100644 --- a/mcaptcha/api/v1/account/index.html +++ b/mcaptcha/api/v1/account/index.html @@ -8,5 +8,5 @@
pub use super::auth;
pub use super::mcaptcha;

Modules

Structs

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/fn.services.html b/mcaptcha/api/v1/account/password/fn.services.html index 4a0e173d..6ddbe9ec 100644 --- a/mcaptcha/api/v1/account/password/fn.services.html +++ b/mcaptcha/api/v1/account/password/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::account::password::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/fn.update_password_runner.html b/mcaptcha/api/v1/account/password/fn.update_password_runner.html index 91a34793..c8aaf9b5 100644 --- a/mcaptcha/api/v1/account/password/fn.update_password_runner.html +++ b/mcaptcha/api/v1/account/password/fn.update_password_runner.html @@ -4,5 +4,5 @@
async fn update_password_runner(
    user: &str,
    update: UpdatePassword,
    data: &Data
) -> Result<(), ServiceError>
+

Function mcaptcha::api::v1::account::password::update_password_runner

source · []
async fn update_password_runner(
    user: &str,
    update: UpdatePassword,
    data: &Data
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/index.html b/mcaptcha/api/v1/account/password/index.html index dd6ca021..c9bc8866 100644 --- a/mcaptcha/api/v1/account/password/index.html +++ b/mcaptcha/api/v1/account/password/index.html @@ -6,5 +6,5 @@

Module password

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html b/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html index d31d0f25..ead9b020 100644 --- a/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html +++ b/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html @@ -5,37 +5,37 @@
pub struct ChangePasswordReqest {
-    pub password: String,
-    pub new_password: String,
-    pub confirm_new_password: String,
-}

Fields

password: Stringnew_password: Stringconfirm_new_password: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub password: String, + pub new_password: String, + pub confirm_new_password: String, +}

Fields

password: Stringnew_password: Stringconfirm_new_password: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/struct.UpdatePassword.html b/mcaptcha/api/v1/account/password/struct.UpdatePassword.html index feb55c48..5e04fec5 100644 --- a/mcaptcha/api/v1/account/password/struct.UpdatePassword.html +++ b/mcaptcha/api/v1/account/password/struct.UpdatePassword.html @@ -5,28 +5,28 @@
pub struct UpdatePassword {
-    pub new_password: String,
-    pub confirm_new_password: String,
-}

Fields

new_password: Stringconfirm_new_password: String

Trait Implementations

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub new_password: String, + pub confirm_new_password: String, +}

Fields

new_password: Stringconfirm_new_password: String

Trait Implementations

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/struct.update_user_password.html b/mcaptcha/api/v1/account/password/struct.update_user_password.html index c99c9fda..27ec444b 100644 --- a/mcaptcha/api/v1/account/password/struct.update_user_password.html +++ b/mcaptcha/api/v1/account/password/struct.update_user_password.html @@ -4,25 +4,25 @@
pub struct update_user_password;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::account::password::update_user_password

source · []
pub struct update_user_password;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/routes/index.html b/mcaptcha/api/v1/account/routes/index.html index 83fa812a..1887738b 100644 --- a/mcaptcha/api/v1/account/routes/index.html +++ b/mcaptcha/api/v1/account/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/routes/struct.Account.html b/mcaptcha/api/v1/account/routes/struct.Account.html index 4e8b118d..2931023e 100644 --- a/mcaptcha/api/v1/account/routes/struct.Account.html +++ b/mcaptcha/api/v1/account/routes/struct.Account.html @@ -5,33 +5,33 @@
pub struct Account {
-    pub delete: &'static str,
-    pub email_exists: &'static str,
-    pub get_secret: &'static str,
-    pub update_email: &'static str,
-    pub update_password: &'static str,
-    pub update_secret: &'static str,
-    pub username_exists: &'static str,
-    pub update_username: &'static str,
-}

Fields

delete: &'static stremail_exists: &'static strget_secret: &'static strupdate_email: &'static strupdate_password: &'static strupdate_secret: &'static strusername_exists: &'static strupdate_username: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub delete: &'static str, + pub email_exists: &'static str, + pub get_secret: &'static str, + pub update_email: &'static str, + pub update_password: &'static str, + pub update_secret: &'static str, + pub username_exists: &'static str, + pub update_username: &'static str, +}

Fields

delete: &'static stremail_exists: &'static strget_secret: &'static strupdate_email: &'static strupdate_password: &'static strupdate_secret: &'static strusername_exists: &'static strupdate_username: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/fn.services.html b/mcaptcha/api/v1/account/secret/fn.services.html index 88af574b..d5f76898 100644 --- a/mcaptcha/api/v1/account/secret/fn.services.html +++ b/mcaptcha/api/v1/account/secret/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::account::secret::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/index.html b/mcaptcha/api/v1/account/secret/index.html index 77791ad2..da9b8d34 100644 --- a/mcaptcha/api/v1/account/secret/index.html +++ b/mcaptcha/api/v1/account/secret/index.html @@ -6,5 +6,5 @@

Module secret

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/struct.get_secret.html b/mcaptcha/api/v1/account/secret/struct.get_secret.html index 2942af14..b0740ca9 100644 --- a/mcaptcha/api/v1/account/secret/struct.get_secret.html +++ b/mcaptcha/api/v1/account/secret/struct.get_secret.html @@ -4,25 +4,25 @@
pub struct get_secret;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::account::secret::get_secret

source · []
pub struct get_secret;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/struct.update_user_secret.html b/mcaptcha/api/v1/account/secret/struct.update_user_secret.html index 341239dc..aa607c33 100644 --- a/mcaptcha/api/v1/account/secret/struct.update_user_secret.html +++ b/mcaptcha/api/v1/account/secret/struct.update_user_secret.html @@ -4,25 +4,25 @@
pub struct update_user_secret;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::account::secret::update_user_secret

source · []
pub struct update_user_secret;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/struct.AccountCheckPayload.html b/mcaptcha/api/v1/account/struct.AccountCheckPayload.html index a5dbf9b6..1a46d27f 100644 --- a/mcaptcha/api/v1/account/struct.AccountCheckPayload.html +++ b/mcaptcha/api/v1/account/struct.AccountCheckPayload.html @@ -5,34 +5,34 @@
pub struct AccountCheckPayload {
-    pub val: String,
-}

Fields

val: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub val: String, +}

Fields

val: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/struct.AccountCheckResp.html b/mcaptcha/api/v1/account/struct.AccountCheckResp.html index 3d4fc074..5d98d2ab 100644 --- a/mcaptcha/api/v1/account/struct.AccountCheckResp.html +++ b/mcaptcha/api/v1/account/struct.AccountCheckResp.html @@ -5,34 +5,34 @@
pub struct AccountCheckResp {
-    pub exists: bool,
-}

Fields

exists: bool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub exists: bool, +}

Fields

exists: bool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/fn.services.html b/mcaptcha/api/v1/account/username/fn.services.html index e6d8ade7..c0e44c47 100644 --- a/mcaptcha/api/v1/account/username/fn.services.html +++ b/mcaptcha/api/v1/account/username/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::account::username::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/index.html b/mcaptcha/api/v1/account/username/index.html index 13cb8f29..c2843fba 100644 --- a/mcaptcha/api/v1/account/username/index.html +++ b/mcaptcha/api/v1/account/username/index.html @@ -8,5 +8,5 @@

Structs

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/runners/fn.username_exists.html b/mcaptcha/api/v1/account/username/runners/fn.username_exists.html index 70d57af8..b9b14bb2 100644 --- a/mcaptcha/api/v1/account/username/runners/fn.username_exists.html +++ b/mcaptcha/api/v1/account/username/runners/fn.username_exists.html @@ -4,5 +4,5 @@
pub async fn username_exists(
    payload: &AccountCheckPayload,
    data: &AppData
) -> Result<AccountCheckResp, ServiceError>
+

Function mcaptcha::api::v1::account::username::runners::username_exists

source · []
pub async fn username_exists(
    payload: &AccountCheckPayload,
    data: &AppData
) -> Result<AccountCheckResp, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/runners/index.html b/mcaptcha/api/v1/account/username/runners/index.html index 1bd350f0..07aa6932 100644 --- a/mcaptcha/api/v1/account/username/runners/index.html +++ b/mcaptcha/api/v1/account/username/runners/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/struct.Username.html b/mcaptcha/api/v1/account/username/struct.Username.html index 4afb1d7a..fc0430f8 100644 --- a/mcaptcha/api/v1/account/username/struct.Username.html +++ b/mcaptcha/api/v1/account/username/struct.Username.html @@ -5,34 +5,34 @@
pub struct Username {
-    pub username: String,
-}

Fields

username: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub username: String, +}

Fields

username: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/struct.set_username.html b/mcaptcha/api/v1/account/username/struct.set_username.html index 94fc54de..cef71d0d 100644 --- a/mcaptcha/api/v1/account/username/struct.set_username.html +++ b/mcaptcha/api/v1/account/username/struct.set_username.html @@ -5,25 +5,25 @@
pub struct set_username;
Expand description

update username

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/struct.username_exists.html b/mcaptcha/api/v1/account/username/struct.username_exists.html index be774a76..3e7650fa 100644 --- a/mcaptcha/api/v1/account/username/struct.username_exists.html +++ b/mcaptcha/api/v1/account/username/struct.username_exists.html @@ -4,25 +4,25 @@
pub struct username_exists;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::account::username::username_exists

source · []
pub struct username_exists;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/fn.services.html b/mcaptcha/api/v1/auth/fn.services.html index 9b615890..ca503749 100644 --- a/mcaptcha/api/v1/auth/fn.services.html +++ b/mcaptcha/api/v1/auth/fn.services.html @@ -4,5 +4,5 @@
-

Function mcaptcha::api::v1::auth::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::auth::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/index.html b/mcaptcha/api/v1/auth/index.html index d4ddb4bb..a50aef07 100644 --- a/mcaptcha/api/v1/auth/index.html +++ b/mcaptcha/api/v1/auth/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::auth

source · []

Modules

Structs

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/routes/index.html b/mcaptcha/api/v1/auth/routes/index.html index f9584d9b..0aa220ac 100644 --- a/mcaptcha/api/v1/auth/routes/index.html +++ b/mcaptcha/api/v1/auth/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/routes/struct.Auth.html b/mcaptcha/api/v1/auth/routes/struct.Auth.html index b67c81ca..5b7420b3 100644 --- a/mcaptcha/api/v1/auth/routes/struct.Auth.html +++ b/mcaptcha/api/v1/auth/routes/struct.Auth.html @@ -5,28 +5,28 @@
pub struct Auth {
-    pub logout: &'static str,
-    pub login: &'static str,
-    pub register: &'static str,
-}

Fields

logout: &'static strlogin: &'static strregister: &'static str

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub logout: &'static str, + pub login: &'static str, + pub register: &'static str, +}

Fields

logout: &'static strlogin: &'static strregister: &'static str

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/fn.login_runner.html b/mcaptcha/api/v1/auth/runners/fn.login_runner.html index bb4b32ad..58979281 100644 --- a/mcaptcha/api/v1/auth/runners/fn.login_runner.html +++ b/mcaptcha/api/v1/auth/runners/fn.login_runner.html @@ -4,6 +4,6 @@
pub async fn login_runner(
    payload: Login,
    data: &AppData
) -> Result<String, ServiceError>
Expand description

returns Ok(()) when everything checks out and the user is authenticated. Erros otherwise

-
+

Function mcaptcha::api::v1::auth::runners::login_runner

source · []
pub async fn login_runner(
    payload: Login,
    data: &AppData
) -> Result<String, ServiceError>
Expand description

returns Ok(()) when everything checks out and the user is authenticated. Erros otherwise

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/fn.register_runner.html b/mcaptcha/api/v1/auth/runners/fn.register_runner.html index 807947e5..92fb36dd 100644 --- a/mcaptcha/api/v1/auth/runners/fn.register_runner.html +++ b/mcaptcha/api/v1/auth/runners/fn.register_runner.html @@ -4,5 +4,5 @@
pub async fn register_runner(
    payload: &Register,
    data: &AppData
) -> Result<(), ServiceError>
+

Function mcaptcha::api::v1::auth::runners::register_runner

source · []
pub async fn register_runner(
    payload: &Register,
    data: &AppData
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/index.html b/mcaptcha/api/v1/auth/runners/index.html index 706fbf24..d36246a8 100644 --- a/mcaptcha/api/v1/auth/runners/index.html +++ b/mcaptcha/api/v1/auth/runners/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::auth::runners

source · []

Structs

Functions

returns Ok(()) when everything checks out and the user is authenticated. Erros otherwise

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/struct.Login.html b/mcaptcha/api/v1/auth/runners/struct.Login.html index dae16f60..294563b0 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Login.html +++ b/mcaptcha/api/v1/auth/runners/struct.Login.html @@ -5,35 +5,35 @@
pub struct Login {
-    pub login: String,
-    pub password: String,
-}

Fields

login: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub login: String, + pub password: String, +}

Fields

login: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/struct.Password.html b/mcaptcha/api/v1/auth/runners/struct.Password.html index 82bb11b6..ec6fe691 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Password.html +++ b/mcaptcha/api/v1/auth/runners/struct.Password.html @@ -5,34 +5,34 @@
pub struct Password {
-    pub password: String,
-}

Fields

password: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub password: String, +}

Fields

password: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/struct.Register.html b/mcaptcha/api/v1/auth/runners/struct.Register.html index d7a44ce6..3be404a1 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Register.html +++ b/mcaptcha/api/v1/auth/runners/struct.Register.html @@ -5,37 +5,37 @@
pub struct Register {
-    pub username: String,
-    pub password: String,
-    pub confirm_password: String,
-    pub email: Option<String>,
-}

Fields

username: Stringpassword: Stringconfirm_password: Stringemail: Option<String>

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub username: String, + pub password: String, + pub confirm_password: String, + pub email: Option<String>, +}

Fields

username: Stringpassword: Stringconfirm_password: Stringemail: Option<String>

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/struct.login.html b/mcaptcha/api/v1/auth/struct.login.html index 376b278b..93dde75a 100644 --- a/mcaptcha/api/v1/auth/struct.login.html +++ b/mcaptcha/api/v1/auth/struct.login.html @@ -4,25 +4,25 @@
-

Struct mcaptcha::api::v1::auth::login

source · []
pub struct login;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::auth::login

source · []
pub struct login;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/struct.register.html b/mcaptcha/api/v1/auth/struct.register.html index 2b3723d7..f1205ab1 100644 --- a/mcaptcha/api/v1/auth/struct.register.html +++ b/mcaptcha/api/v1/auth/struct.register.html @@ -4,25 +4,25 @@
pub struct register;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::auth::register

source · []
pub struct register;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/struct.signout.html b/mcaptcha/api/v1/auth/struct.signout.html index 91837b43..eb8e84d5 100644 --- a/mcaptcha/api/v1/auth/struct.signout.html +++ b/mcaptcha/api/v1/auth/struct.signout.html @@ -4,25 +4,25 @@
pub struct signout;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::auth::signout

source · []
pub struct signout;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/fn.get_middleware.html b/mcaptcha/api/v1/fn.get_middleware.html index 001bcd1e..9efed5b1 100644 --- a/mcaptcha/api/v1/fn.get_middleware.html +++ b/mcaptcha/api/v1/fn.get_middleware.html @@ -4,5 +4,5 @@
pub fn get_middleware() -> Authentication<Routes>
+

Function mcaptcha::api::v1::get_middleware

source · []
pub fn get_middleware() -> Authentication<Routes>
\ No newline at end of file diff --git a/mcaptcha/api/v1/fn.services.html b/mcaptcha/api/v1/fn.services.html index c6a049df..4a3c5c0c 100644 --- a/mcaptcha/api/v1/fn.services.html +++ b/mcaptcha/api/v1/fn.services.html @@ -4,5 +4,5 @@
-

Function mcaptcha::api::v1::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/index.html b/mcaptcha/api/v1/index.html index 868696f0..a1d13f77 100644 --- a/mcaptcha/api/v1/index.html +++ b/mcaptcha/api/v1/index.html @@ -8,5 +8,5 @@
pub use routes::ROUTES;

Modules

Structs

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/index.html b/mcaptcha/api/v1/mcaptcha/create/index.html index e8b00370..a5d1abe4 100644 --- a/mcaptcha/api/v1/mcaptcha/create/index.html +++ b/mcaptcha/api/v1/mcaptcha/create/index.html @@ -6,5 +6,5 @@

Module create

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html b/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html index 62d33f7c..4c4f4dfd 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html +++ b/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html @@ -4,5 +4,5 @@
pub async fn create(
    payload: &CreateCaptcha,
    data: &AppData,
    username: &str
) -> Result<MCaptchaDetails, ServiceError>
+

Function mcaptcha::api::v1::mcaptcha::create::runner::create

source · []
pub async fn create(
    payload: &CreateCaptcha,
    data: &AppData,
    username: &str
) -> Result<MCaptchaDetails, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/runner/index.html b/mcaptcha/api/v1/mcaptcha/create/runner/index.html index 656eb4ec..5442bfd2 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/create/runner/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html b/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html index 5cdc9134..e1ddc6f4 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html @@ -5,30 +5,30 @@
pub struct CreateCaptcha {
-    pub levels: Vec<Level>,
-    pub duration: u32,
-    pub description: String,
-}

Fields

levels: Vec<Level>duration: u32description: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub levels: Vec<Level>, + pub duration: u32, + pub description: String, +}

Fields

levels: Vec<Level>duration: u32description: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html b/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html index 4013fb36..5e932f43 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html @@ -5,35 +5,35 @@
pub struct MCaptchaDetails {
-    pub name: String,
-    pub key: String,
-}

Fields

name: Stringkey: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub name: String, + pub key: String, +}

Fields

name: Stringkey: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/struct.create.html b/mcaptcha/api/v1/mcaptcha/create/struct.create.html index b7356185..ea7d31b1 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.create.html @@ -4,25 +4,25 @@
pub struct create;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::create::create

source · []
pub struct create;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/index.html b/mcaptcha/api/v1/mcaptcha/delete/index.html index dab8ec11..266794bc 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/index.html +++ b/mcaptcha/api/v1/mcaptcha/delete/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html b/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html index 4171fee5..863e483b 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html @@ -5,35 +5,35 @@
pub struct DeleteCaptcha {
-    pub key: String,
-    pub password: String,
-}

Fields

key: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, + pub password: String, +}

Fields

key: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html b/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html index 15968bbb..1a59cd6a 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html +++ b/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html @@ -4,25 +4,25 @@
pub struct delete;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::delete::delete

source · []
pub struct delete;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html index c6ba82c7..5b67fecb 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html @@ -4,5 +4,5 @@
pub fn calculate(
    tp: &TrafficPattern,
    strategy: &DefaultDifficultyStrategy
) -> Result<Vec<Level>, ServiceError>
+

Function mcaptcha::api::v1::mcaptcha::easy::calculate

source · []
pub fn calculate(
    tp: &TrafficPattern,
    strategy: &DefaultDifficultyStrategy
) -> Result<Vec<Level>, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.services.html b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html index 28550d63..ebf57db2 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.services.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::mcaptcha::easy::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/index.html b/mcaptcha/api/v1/mcaptcha/easy/index.html index dc461934..746781d7 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/index.html @@ -8,5 +8,5 @@

Structs

User’s traffic pattern; used in generating a captcha configuration

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/routes/index.html b/mcaptcha/api/v1/mcaptcha/easy/routes/index.html index 8e6540d5..548e4ee2 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html b/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html index dc306610..b1877ac5 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html @@ -5,28 +5,28 @@
pub struct Easy {
-    pub create: &'static str,
-    pub update: &'static str,
-}

Fields

create: &'static str

easy is using defaults

-
update: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub create: &'static str, + pub update: &'static str, +}

Fields

create: &'static str

easy is using defaults

+
update: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html index d20c3916..20c3f289 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html @@ -5,44 +5,44 @@
pub struct TrafficPatternRequest {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
-    pub description: String,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
+    pub description: String,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

-
description: String

Captcha description

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

trafic that bought the user’s website down; optional

+
description: String

Captcha description

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html index 1e1e217a..98b83438 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html @@ -6,34 +6,34 @@

UpdateTrafficPattern

pub struct UpdateTrafficPattern {
     pub pattern: TrafficPatternRequest,
-    pub key: String,
-}

Fields

pattern: TrafficPatternRequestkey: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, +}

Fields

pattern: TrafficPatternRequestkey: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html index f329e146..88ccb51e 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html @@ -4,25 +4,25 @@
pub struct create;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::easy::create

source · []
pub struct create;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html index ba860709..2ef267ba 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html @@ -4,25 +4,25 @@
pub struct update;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::easy::update

source · []
pub struct update;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/fn.get_random.html b/mcaptcha/api/v1/mcaptcha/fn.get_random.html index 40f391bd..fa8ebefc 100644 --- a/mcaptcha/api/v1/mcaptcha/fn.get_random.html +++ b/mcaptcha/api/v1/mcaptcha/fn.get_random.html @@ -4,5 +4,5 @@
pub fn get_random(len: usize) -> String
+

Function mcaptcha::api::v1::mcaptcha::get_random

source · []
pub fn get_random(len: usize) -> String
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/fn.services.html b/mcaptcha/api/v1/mcaptcha/fn.services.html index e84bc9f7..a56c7375 100644 --- a/mcaptcha/api/v1/mcaptcha/fn.services.html +++ b/mcaptcha/api/v1/mcaptcha/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::mcaptcha::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/index.html b/mcaptcha/api/v1/mcaptcha/get/index.html index cd1e200c..7d5e3b1e 100644 --- a/mcaptcha/api/v1/mcaptcha/get/index.html +++ b/mcaptcha/api/v1/mcaptcha/get/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html b/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html index 30a50f03..08965861 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html @@ -5,35 +5,35 @@
pub struct I32Levels {
-    pub difficulty_factor: i32,
-    pub visitor_threshold: i32,
-}

Fields

difficulty_factor: i32visitor_threshold: i32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub difficulty_factor: i32, + pub visitor_threshold: i32, +}

Fields

difficulty_factor: i32visitor_threshold: i32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html b/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html index 48921209..72a644c1 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html @@ -6,33 +6,33 @@

Levels

pub struct Levels {
     levels: I32Levels,
-}

Fields

levels: I32Levels

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

levels: I32Levels

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html b/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html index 29d13842..f70a7307 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html @@ -4,25 +4,25 @@
pub struct get_captcha;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::get::get_captcha

source · []
pub struct get_captcha;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/index.html b/mcaptcha/api/v1/mcaptcha/index.html index 2bfc0f94..be1cf634 100644 --- a/mcaptcha/api/v1/mcaptcha/index.html +++ b/mcaptcha/api/v1/mcaptcha/index.html @@ -6,5 +6,5 @@

Module mcaptcha

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/routes/index.html b/mcaptcha/api/v1/mcaptcha/routes/index.html index 1aeed3c2..6020e04f 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html b/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html index 3ead8aab..1d3c9bdc 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html +++ b/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html @@ -5,32 +5,32 @@
pub struct Captcha {
-    pub create: &'static str,
-    pub update: &'static str,
-    pub get: &'static str,
-    pub delete: &'static str,
-    pub update_key: &'static str,
+    pub create: &'static str,
+    pub update: &'static str,
+    pub get: &'static str,
+    pub delete: &'static str,
+    pub update_key: &'static str,
     pub easy: Easy,
     pub stats: Stats,
-}

Fields

create: &'static strupdate: &'static strget: &'static strdelete: &'static strupdate_key: &'static streasy: Easystats: Stats

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

create: &'static strupdate: &'static strget: &'static strdelete: &'static strupdate_key: &'static streasy: Easystats: Stats

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/index.html b/mcaptcha/api/v1/mcaptcha/stats/index.html index 59edc895..1231ff2d 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/index.html +++ b/mcaptcha/api/v1/mcaptcha/stats/index.html @@ -6,5 +6,5 @@

Module stats

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/routes/index.html b/mcaptcha/api/v1/mcaptcha/stats/routes/index.html index 3a4e5e47..81cc1470 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html b/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html index 11268ae6..94ec2d7a 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html @@ -5,26 +5,26 @@
pub struct Stats {
-    pub get: &'static str,
-}

Fields

get: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub get: &'static str, +}

Fields

get: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html b/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html index 1cd28c8d..092c220d 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html +++ b/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html @@ -5,34 +5,34 @@
pub struct StatsPayload {
-    pub key: String,
-}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, +}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/struct.get.html b/mcaptcha/api/v1/mcaptcha/stats/struct.get.html index a5728130..c18008ec 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/struct.get.html +++ b/mcaptcha/api/v1/mcaptcha/stats/struct.get.html @@ -4,25 +4,25 @@
pub struct get;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::stats::get

source · []
pub struct get;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/index.html b/mcaptcha/api/v1/mcaptcha/update/index.html index 0e63f80b..feb2c93f 100644 --- a/mcaptcha/api/v1/mcaptcha/update/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/index.html @@ -6,5 +6,5 @@

Module update

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html index f685ac5c..04ad7c3f 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html @@ -4,5 +4,5 @@
pub async fn update_captcha(
    payload: &UpdateCaptcha,
    data: &AppData,
    username: &str
) -> Result<(), ServiceError>
+

Function mcaptcha::api::v1::mcaptcha::update::runner::update_captcha

source · []
pub async fn update_captcha(
    payload: &UpdateCaptcha,
    data: &AppData,
    username: &str
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/runner/index.html b/mcaptcha/api/v1/mcaptcha/update/runner/index.html index 0ced166c..d76c59f6 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html b/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html index 620bb108..9a62a03b 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html @@ -5,31 +5,31 @@
pub struct UpdateCaptcha {
-    pub levels: Vec<Level>,
-    pub duration: u32,
-    pub description: String,
-    pub key: String,
-}

Fields

levels: Vec<Level>duration: u32description: Stringkey: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub levels: Vec<Level>, + pub duration: u32, + pub description: String, + pub key: String, +}

Fields

levels: Vec<Level>duration: u32description: Stringkey: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html b/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html index 49af1a04..26be2531 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html @@ -4,25 +4,25 @@
pub struct update_captcha;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::update::update_captcha

source · []
pub struct update_captcha;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html b/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html index 8d09c8d4..69ec2f97 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html @@ -4,25 +4,25 @@
pub struct update_key;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::api::v1::mcaptcha::update::update_key

source · []
pub struct update_key;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html b/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html index e4acb290..c24832db 100644 --- a/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html +++ b/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html @@ -6,39 +6,39 @@

BuildDetailsBuilderError

#[non_exhaustive]
 pub enum BuildDetailsBuilderError {
-    UninitializedField(&'static str),
-    ValidationError(String),
+    UninitializedField(&'static str),
+    ValidationError(String),
 }
Expand description

Error type for BuildDetailsBuilder

-

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.

UninitializedField(&'static str)

Uninitialized field

-

ValidationError(String)

Custom validation error

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

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.

UninitializedField(&'static str)

Uninitialized field

+

ValidationError(String)

Custom validation error

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/enum.HealthBuilderError.html b/mcaptcha/api/v1/meta/enum.HealthBuilderError.html index 7477f013..9382527f 100644 --- a/mcaptcha/api/v1/meta/enum.HealthBuilderError.html +++ b/mcaptcha/api/v1/meta/enum.HealthBuilderError.html @@ -6,39 +6,39 @@

HealthBuilderError

#[non_exhaustive]
 pub enum HealthBuilderError {
-    UninitializedField(&'static str),
-    ValidationError(String),
+    UninitializedField(&'static str),
+    ValidationError(String),
 }
Expand description

Error type for HealthBuilder

-

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.

UninitializedField(&'static str)

Uninitialized field

-

ValidationError(String)

Custom validation error

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

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.

UninitializedField(&'static str)

Uninitialized field

+

ValidationError(String)

Custom validation error

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/fn.services.html b/mcaptcha/api/v1/meta/fn.services.html index b2e87467..ecb53ced 100644 --- a/mcaptcha/api/v1/meta/fn.services.html +++ b/mcaptcha/api/v1/meta/fn.services.html @@ -4,5 +4,5 @@
-

Function mcaptcha::api::v1::meta::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::meta::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/index.html b/mcaptcha/api/v1/meta/index.html index 557b62e1..ba3baacc 100644 --- a/mcaptcha/api/v1/meta/index.html +++ b/mcaptcha/api/v1/meta/index.html @@ -15,5 +15,5 @@

Error type for BuildDetailsBuilder

Error type for HealthBuilder

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/routes/index.html b/mcaptcha/api/v1/meta/routes/index.html index 1c64e169..f798c16e 100644 --- a/mcaptcha/api/v1/meta/routes/index.html +++ b/mcaptcha/api/v1/meta/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/routes/struct.Meta.html b/mcaptcha/api/v1/meta/routes/struct.Meta.html index b3e82d00..96b31306 100644 --- a/mcaptcha/api/v1/meta/routes/struct.Meta.html +++ b/mcaptcha/api/v1/meta/routes/struct.Meta.html @@ -5,27 +5,27 @@
pub struct Meta {
-    pub build_details: &'static str,
-    pub health: &'static str,
-}

Fields

build_details: &'static strhealth: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub build_details: &'static str, + pub health: &'static str, +}

Fields

build_details: &'static strhealth: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.BuildDetails.html b/mcaptcha/api/v1/meta/struct.BuildDetails.html index 7f757970..1a4009fd 100644 --- a/mcaptcha/api/v1/meta/struct.BuildDetails.html +++ b/mcaptcha/api/v1/meta/struct.BuildDetails.html @@ -5,35 +5,35 @@
pub struct BuildDetails {
-    pub version: &'static str,
-    pub git_commit_hash: &'static str,
-}

Fields

version: &'static strgit_commit_hash: &'static str

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub version: &'static str, + pub git_commit_hash: &'static str, +}

Fields

version: &'static strgit_commit_hash: &'static str

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html b/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html index f6dbb249..6c88746f 100644 --- a/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html +++ b/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html @@ -5,38 +5,38 @@
pub struct BuildDetailsBuilder {
-    version: Option<&'static str>,
-    git_commit_hash: Option<&'static str>,
+    version: Option<&'static str>,
+    git_commit_hash: Option<&'static str>,
 }
Expand description

Builder for BuildDetails.

-

Fields

version: Option<&'static str>git_commit_hash: Option<&'static str>

Implementations

Builds a new BuildDetails.

+

Fields

version: Option<&'static str>git_commit_hash: Option<&'static str>

Implementations

Builds a new BuildDetails.

Errors

If a required field has not been initialized.

Create an empty builder, with all fields set to None or PhantomData.

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Returns the “default value” for a type. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.Health.html b/mcaptcha/api/v1/meta/struct.Health.html index b07d1bc2..b71781cf 100644 --- a/mcaptcha/api/v1/meta/struct.Health.html +++ b/mcaptcha/api/v1/meta/struct.Health.html @@ -5,36 +5,36 @@
pub struct Health {
-    db: bool,
-    redis: Option<bool>,
+    db: bool,
+    redis: Option<bool>,
 }
Expand description

Health check return datatype

-

Fields

db: boolredis: Option<bool>

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

db: boolredis: Option<bool>

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.HealthBuilder.html b/mcaptcha/api/v1/meta/struct.HealthBuilder.html index 416748d9..2a84b265 100644 --- a/mcaptcha/api/v1/meta/struct.HealthBuilder.html +++ b/mcaptcha/api/v1/meta/struct.HealthBuilder.html @@ -5,38 +5,38 @@
pub struct HealthBuilder {
-    db: Option<bool>,
-    redis: Option<Option<bool>>,
+    db: Option<bool>,
+    redis: Option<Option<bool>>,
 }
Expand description

Builder for Health.

-

Fields

db: Option<bool>redis: Option<Option<bool>>

Implementations

Builds a new Health.

+

Fields

db: Option<bool>redis: Option<Option<bool>>

Implementations

Builds a new Health.

Errors

If a required field has not been initialized.

Create an empty builder, with all fields set to None or PhantomData.

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Returns the “default value” for a type. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.build_details.html b/mcaptcha/api/v1/meta/struct.build_details.html index c9ac7204..4dfaf707 100644 --- a/mcaptcha/api/v1/meta/struct.build_details.html +++ b/mcaptcha/api/v1/meta/struct.build_details.html @@ -5,25 +5,25 @@
pub struct build_details;
Expand description

emmits build details of the bninary

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.health.html b/mcaptcha/api/v1/meta/struct.health.html index 9a1e11e3..dec2e649 100644 --- a/mcaptcha/api/v1/meta/struct.health.html +++ b/mcaptcha/api/v1/meta/struct.health.html @@ -5,25 +5,25 @@
pub struct health;
Expand description

checks all components of the system

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/index.html b/mcaptcha/api/v1/notifications/add/index.html index b6d63dab..a1eae663 100644 --- a/mcaptcha/api/v1/notifications/add/index.html +++ b/mcaptcha/api/v1/notifications/add/index.html @@ -6,5 +6,5 @@

Module add

Structs

route handler that adds a notification message

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html b/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html index beb21dd4..9509dac9 100644 --- a/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html +++ b/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html @@ -5,40 +5,40 @@
pub struct AddNotificationRequest {
-    pub to: String,
-    pub heading: String,
-    pub message: String,
-}

Fields

to: Stringheading: Stringmessage: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub to: String, + pub heading: String, + pub message: String, +}

Fields

to: Stringheading: Stringmessage: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/struct.add_notification.html b/mcaptcha/api/v1/notifications/add/struct.add_notification.html index 1d10a8b7..e0f2889c 100644 --- a/mcaptcha/api/v1/notifications/add/struct.add_notification.html +++ b/mcaptcha/api/v1/notifications/add/struct.add_notification.html @@ -5,25 +5,25 @@
pub struct add_notification;
Expand description

route handler that adds a notification message

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/fn.services.html b/mcaptcha/api/v1/notifications/fn.services.html index b531bd1a..6b876d5a 100644 --- a/mcaptcha/api/v1/notifications/fn.services.html +++ b/mcaptcha/api/v1/notifications/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::notifications::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/index.html b/mcaptcha/api/v1/notifications/get/index.html index 4ed6b961..aa9a8096 100644 --- a/mcaptcha/api/v1/notifications/get/index.html +++ b/mcaptcha/api/v1/notifications/get/index.html @@ -6,5 +6,5 @@

Module get

Structs

route handler that gets all unread notifications

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html index a87f17d2..055513ce 100644 --- a/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html +++ b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html @@ -5,42 +5,42 @@
pub struct NotificationResp {
-    pub name: String,
-    pub heading: String,
-    pub message: String,
-    pub received: i64,
-    pub id: i32,
-}

Fields

name: Stringheading: Stringmessage: Stringreceived: i64id: i32

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub name: String, + pub heading: String, + pub message: String, + pub received: i64, + pub id: i32, +}

Fields

name: Stringheading: Stringmessage: Stringreceived: i64id: i32

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/struct.get_notification.html b/mcaptcha/api/v1/notifications/get/struct.get_notification.html index 3da4251c..50aeb704 100644 --- a/mcaptcha/api/v1/notifications/get/struct.get_notification.html +++ b/mcaptcha/api/v1/notifications/get/struct.get_notification.html @@ -5,25 +5,25 @@
pub struct get_notification;
Expand description

route handler that gets all unread notifications

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/index.html b/mcaptcha/api/v1/notifications/index.html index 35fd90a2..c2e1e709 100644 --- a/mcaptcha/api/v1/notifications/index.html +++ b/mcaptcha/api/v1/notifications/index.html @@ -6,5 +6,5 @@

Module notifications

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/index.html b/mcaptcha/api/v1/notifications/mark_read/index.html index 4cf28d5c..140aeba5 100644 --- a/mcaptcha/api/v1/notifications/mark_read/index.html +++ b/mcaptcha/api/v1/notifications/mark_read/index.html @@ -6,5 +6,5 @@

Module mark_read

Structs

route handler that marks a notification read

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html b/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html index b4ad51e9..927cc69f 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html @@ -5,28 +5,28 @@
pub struct MarkReadReq {
-    pub id: i32,
-}

Fields

id: i32

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub id: i32, +}

Fields

id: i32

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html b/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html index ca6dc272..d669b659 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html @@ -5,25 +5,25 @@
pub struct mark_read;
Expand description

route handler that marks a notification read

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/routes/index.html b/mcaptcha/api/v1/notifications/routes/index.html index 540233ce..e2ad01a7 100644 --- a/mcaptcha/api/v1/notifications/routes/index.html +++ b/mcaptcha/api/v1/notifications/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/routes/struct.Notifications.html b/mcaptcha/api/v1/notifications/routes/struct.Notifications.html index 35a2603a..33a1c50e 100644 --- a/mcaptcha/api/v1/notifications/routes/struct.Notifications.html +++ b/mcaptcha/api/v1/notifications/routes/struct.Notifications.html @@ -5,28 +5,28 @@
pub struct Notifications {
-    pub add: &'static str,
-    pub mark_read: &'static str,
-    pub get: &'static str,
-}

Fields

add: &'static strmark_read: &'static strget: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub add: &'static str, + pub mark_read: &'static str, + pub get: &'static str, +}

Fields

add: &'static strmark_read: &'static strget: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/fn.services.html b/mcaptcha/api/v1/pow/fn.services.html index 7209d47b..edbdff30 100644 --- a/mcaptcha/api/v1/pow/fn.services.html +++ b/mcaptcha/api/v1/pow/fn.services.html @@ -4,5 +4,5 @@
-

Function mcaptcha::api::v1::pow::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::api::v1::pow::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html b/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html index eb155342..20a0cf1d 100644 --- a/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html +++ b/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html @@ -4,8 +4,8 @@
pub async fn init_mcaptcha(
    data: &AppData,
    key: &str
) -> Result<(), ServiceError>
Expand description

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

+

Function mcaptcha::api::v1::pow::get_config::init_mcaptcha

source · []
pub async fn init_mcaptcha(
    data: &AppData,
    key: &str
) -> Result<(), ServiceError>
Expand description

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

This fn gets mcaptcha config from database, builds [Defense][libmcaptcha::Defense], creates [MCaptcha][libmcaptcha::MCaptcha] and adds it to [Master][libmcaptcha::Defense]

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/index.html b/mcaptcha/api/v1/pow/get_config/index.html index 78bb418e..5ec4aabf 100644 --- a/mcaptcha/api/v1/pow/get_config/index.html +++ b/mcaptcha/api/v1/pow/get_config/index.html @@ -8,5 +8,5 @@

get PoW configuration for an mcaptcha key

Functions

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html b/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html index b6c64c45..d3b2c724 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html +++ b/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html @@ -5,34 +5,34 @@
pub struct GetConfigPayload {
-    pub key: String,
-}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, +}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/struct.get_config.html b/mcaptcha/api/v1/pow/get_config/struct.get_config.html index 0ec4ad0a..4cdcca53 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.get_config.html +++ b/mcaptcha/api/v1/pow/get_config/struct.get_config.html @@ -5,25 +5,25 @@
pub struct get_config;
Expand description

get PoW configuration for an mcaptcha key

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/index.html b/mcaptcha/api/v1/pow/index.html index 6fab449c..25a6bf8b 100644 --- a/mcaptcha/api/v1/pow/index.html +++ b/mcaptcha/api/v1/pow/index.html @@ -9,5 +9,5 @@

PoW Verification module

PoW success token module

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/index.html b/mcaptcha/api/v1/pow/routes/index.html index c20beca1..0a27f6e2 100644 --- a/mcaptcha/api/v1/pow/routes/index.html +++ b/mcaptcha/api/v1/pow/routes/index.html @@ -6,5 +6,5 @@

Module routes

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/macro.rm_scope.html b/mcaptcha/api/v1/pow/routes/macro.rm_scope.html index afee9d7f..fd9eccba 100644 --- a/mcaptcha/api/v1/pow/routes/macro.rm_scope.html +++ b/mcaptcha/api/v1/pow/routes/macro.rm_scope.html @@ -7,5 +7,5 @@

Macro mcaptcha::api::v1::pow::routes::rm_scope

source · []
macro_rules! rm_scope {
     ($name:ident) => { ... };
 }
-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/struct.PoW.html b/mcaptcha/api/v1/pow/routes/struct.PoW.html index 67ae37ec..6acb806a 100644 --- a/mcaptcha/api/v1/pow/routes/struct.PoW.html +++ b/mcaptcha/api/v1/pow/routes/struct.PoW.html @@ -5,32 +5,32 @@
pub struct PoW {
-    pub get_config: &'static str,
-    pub verify_pow: &'static str,
-    pub validate_captcha_token: &'static str,
-    pub scope: &'static str,
-}

Fields

get_config: &'static strverify_pow: &'static strvalidate_captcha_token: &'static strscope: &'static str

Implementations

remove scope for $name route

-

remove scope for $name route

-

remove scope for $name route

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub get_config: &'static str, + pub verify_pow: &'static str, + pub validate_captcha_token: &'static str, + pub scope: &'static str, +}

Fields

get_config: &'static strverify_pow: &'static strvalidate_captcha_token: &'static strscope: &'static str

Implementations

remove scope for $name route

+

remove scope for $name route

+

remove scope for $name route

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/index.html b/mcaptcha/api/v1/pow/verify_pow/index.html index 8ae0232b..dac38f16 100644 --- a/mcaptcha/api/v1/pow/verify_pow/index.html +++ b/mcaptcha/api/v1/pow/verify_pow/index.html @@ -10,5 +10,5 @@ valid PoW

route handler that verifies PoW and issues a solution token if verification is successful

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html b/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html index 215eb5cf..5dc281b9 100644 --- a/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html +++ b/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html @@ -5,36 +5,36 @@
pub struct ValidationToken {
-    pub token: String,
+    pub token: String,
 }
Expand description

validation token that clients receive as proof for submiting valid PoW

-

Fields

token: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

token: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html b/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html index abfebefa..b8dfa322 100644 --- a/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html +++ b/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html @@ -6,25 +6,25 @@

verify_pow

pub struct verify_pow;
Expand description

route handler that verifies PoW and issues a solution token if verification is successful

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/index.html b/mcaptcha/api/v1/pow/verify_token/index.html index 836fb429..2d785ab5 100644 --- a/mcaptcha/api/v1/pow/verify_token/index.html +++ b/mcaptcha/api/v1/pow/verify_token/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::pow::verify_token

source · []
Expand description

PoW success token module

Structs

route hander that validates a PoW solution token

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html b/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html index 5719517c..fee8bb96 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html @@ -5,34 +5,34 @@
pub struct CaptchaValidateResp {
-    pub valid: bool,
-}

Fields

valid: bool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub valid: bool, +}

Fields

valid: bool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html b/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html index a0d4297c..1e42580a 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html @@ -5,25 +5,25 @@
pub struct validate_captcha_token;
Expand description

route hander that validates a PoW solution token

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/routes/constant.ROUTES.html b/mcaptcha/api/v1/routes/constant.ROUTES.html index e6e602d4..e4ee27a7 100644 --- a/mcaptcha/api/v1/routes/constant.ROUTES.html +++ b/mcaptcha/api/v1/routes/constant.ROUTES.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::api::v1::routes::ROUTES

source · []
pub const ROUTES: Routes;
+

Constant mcaptcha::api::v1::routes::ROUTES

source · []
pub const ROUTES: Routes;
\ No newline at end of file diff --git a/mcaptcha/api/v1/routes/index.html b/mcaptcha/api/v1/routes/index.html index 8cdf67c3..226f9835 100644 --- a/mcaptcha/api/v1/routes/index.html +++ b/mcaptcha/api/v1/routes/index.html @@ -6,5 +6,5 @@

Module routes

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/routes/struct.Routes.html b/mcaptcha/api/v1/routes/struct.Routes.html index 8e848378..975c470e 100644 --- a/mcaptcha/api/v1/routes/struct.Routes.html +++ b/mcaptcha/api/v1/routes/struct.Routes.html @@ -11,25 +11,25 @@ pub meta: Meta, pub pow: PoW, pub notifications: Notifications, -}

Fields

auth: Authaccount: Accountcaptcha: Captchameta: Metapow: PoWnotifications: Notifications

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

auth: Authaccount: Accountcaptcha: Captchameta: Metapow: PoWnotifications: Notifications

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/struct.RedirectQuery.html b/mcaptcha/api/v1/struct.RedirectQuery.html index edc709d7..80fdc7dd 100644 --- a/mcaptcha/api/v1/struct.RedirectQuery.html +++ b/mcaptcha/api/v1/struct.RedirectQuery.html @@ -5,27 +5,27 @@
pub struct RedirectQuery {
-    pub redirect_to: Option<String>,
-}

Fields

redirect_to: Option<String>

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub redirect_to: Option<String>, +}

Fields

redirect_to: Option<String>

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/constant.CACHE_AGE.html b/mcaptcha/constant.CACHE_AGE.html index b6170b8a..32bd39f2 100644 --- a/mcaptcha/constant.CACHE_AGE.html +++ b/mcaptcha/constant.CACHE_AGE.html @@ -4,5 +4,5 @@
pub const CACHE_AGE: u32 = 604800;
+

Constant mcaptcha::CACHE_AGE

source · []
pub const CACHE_AGE: u32 = 604800;
\ No newline at end of file diff --git a/mcaptcha/constant.COMPILED_DATE.html b/mcaptcha/constant.COMPILED_DATE.html index 1c41b8cc..bb05879d 100644 --- a/mcaptcha/constant.COMPILED_DATE.html +++ b/mcaptcha/constant.COMPILED_DATE.html @@ -4,5 +4,5 @@
pub const COMPILED_DATE: &str = "22-07-19";
+

Constant mcaptcha::COMPILED_DATE

source · []
pub const COMPILED_DATE: &str = "22-07-20";
\ No newline at end of file diff --git a/mcaptcha/constant.DOCS.html b/mcaptcha/constant.DOCS.html index 27a3176b..9fb39956 100644 --- a/mcaptcha/constant.DOCS.html +++ b/mcaptcha/constant.DOCS.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::DOCS

source · []
pub const DOCS: Docs;
+

Constant mcaptcha::DOCS

source · []
pub const DOCS: Docs;
\ No newline at end of file diff --git a/mcaptcha/constant.GIT_COMMIT_HASH.html b/mcaptcha/constant.GIT_COMMIT_HASH.html index 71665e38..7dd92e45 100644 --- a/mcaptcha/constant.GIT_COMMIT_HASH.html +++ b/mcaptcha/constant.GIT_COMMIT_HASH.html @@ -4,5 +4,5 @@
pub const GIT_COMMIT_HASH: &str = "2dce6eb2e8d78f02309f91040c4eea405e75a425";
+

Constant mcaptcha::GIT_COMMIT_HASH

source · []
pub const GIT_COMMIT_HASH: &str = "31978a83f25d8e4f6ee19b8528374d0ea1a29de4";
\ No newline at end of file diff --git a/mcaptcha/constant.PAGES.html b/mcaptcha/constant.PAGES.html index 705d64a6..6785ff86 100644 --- a/mcaptcha/constant.PAGES.html +++ b/mcaptcha/constant.PAGES.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::PAGES

source · []
pub const PAGES: Routes;
+

Constant mcaptcha::PAGES

source · []
pub const PAGES: Routes;
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_DESCRIPTION.html b/mcaptcha/constant.PKG_DESCRIPTION.html index c0c51438..a135de87 100644 --- a/mcaptcha/constant.PKG_DESCRIPTION.html +++ b/mcaptcha/constant.PKG_DESCRIPTION.html @@ -4,5 +4,5 @@
pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
+

Constant mcaptcha::PKG_DESCRIPTION

source · []
pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_HOMEPAGE.html b/mcaptcha/constant.PKG_HOMEPAGE.html index 0c55aa0e..732d5251 100644 --- a/mcaptcha/constant.PKG_HOMEPAGE.html +++ b/mcaptcha/constant.PKG_HOMEPAGE.html @@ -4,5 +4,5 @@
pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
+

Constant mcaptcha::PKG_HOMEPAGE

source · []
pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_NAME.html b/mcaptcha/constant.PKG_NAME.html index 8bcc8e58..bc1c05ee 100644 --- a/mcaptcha/constant.PKG_NAME.html +++ b/mcaptcha/constant.PKG_NAME.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::PKG_NAME

source · []
pub const PKG_NAME: &str = "mcaptcha";
+

Constant mcaptcha::PKG_NAME

source · []
pub const PKG_NAME: &str = "mcaptcha";
\ No newline at end of file diff --git a/mcaptcha/constant.V1_API_ROUTES.html b/mcaptcha/constant.V1_API_ROUTES.html index c2fd972b..38ea36b5 100644 --- a/mcaptcha/constant.V1_API_ROUTES.html +++ b/mcaptcha/constant.V1_API_ROUTES.html @@ -4,5 +4,5 @@
pub const V1_API_ROUTES: Routes;
+

Constant mcaptcha::V1_API_ROUTES

source · []
pub const V1_API_ROUTES: Routes;
\ No newline at end of file diff --git a/mcaptcha/constant.VERSION.html b/mcaptcha/constant.VERSION.html index e2b2080f..d38c600f 100644 --- a/mcaptcha/constant.VERSION.html +++ b/mcaptcha/constant.VERSION.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::VERSION

source · []
pub const VERSION: &str = "0.1.0";
+

Constant mcaptcha::VERSION

source · []
pub const VERSION: &str = "0.1.0";
\ No newline at end of file diff --git a/mcaptcha/constant.WIDGET_ROUTES.html b/mcaptcha/constant.WIDGET_ROUTES.html index 053c4f8f..e04ca9a7 100644 --- a/mcaptcha/constant.WIDGET_ROUTES.html +++ b/mcaptcha/constant.WIDGET_ROUTES.html @@ -4,5 +4,5 @@
pub const WIDGET_ROUTES: Widget;
+

Constant mcaptcha::WIDGET_ROUTES

source · []
pub const WIDGET_ROUTES: Widget;
\ No newline at end of file diff --git a/mcaptcha/data/enum.SystemGroup.html b/mcaptcha/data/enum.SystemGroup.html index bf210cdc..8fae1efe 100644 --- a/mcaptcha/data/enum.SystemGroup.html +++ b/mcaptcha/data/enum.SystemGroup.html @@ -10,25 +10,25 @@ }
Expand description

Represents mCaptcha cache and master system. When Redis is configured, SystemGroup::Redis is used and in its absense, SystemGroup::Embedded is used

-

Variants

Embedded(System<HashCache, EmbeddedMaster>)

Redis(System<RedisCache, RedisMaster>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Embedded(System<HashCache, EmbeddedMaster>)

Redis(System<RedisCache, RedisMaster>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/data/index.html b/mcaptcha/data/index.html index 77b4e4c3..e0fc8f8d 100644 --- a/mcaptcha/data/index.html +++ b/mcaptcha/data/index.html @@ -14,5 +14,5 @@ When Redis is configured, SystemGroup::Embedded is used

Type Definitions

Mailer data type AsyncSmtpTransport

-
+
\ No newline at end of file diff --git a/mcaptcha/data/macro.enum_system_actor.html b/mcaptcha/data/macro.enum_system_actor.html index 6038c305..8f1c1d9b 100644 --- a/mcaptcha/data/macro.enum_system_actor.html +++ b/mcaptcha/data/macro.enum_system_actor.html @@ -7,5 +7,5 @@

Macro mcaptcha::data::enum_system_actor

source · []
macro_rules! enum_system_actor {
     ($name:ident, $type:ident) => { ... };
 }
-
+
\ No newline at end of file diff --git a/mcaptcha/data/macro.enum_system_wrapper.html b/mcaptcha/data/macro.enum_system_wrapper.html index 4005f39f..a01f15c9 100644 --- a/mcaptcha/data/macro.enum_system_wrapper.html +++ b/mcaptcha/data/macro.enum_system_wrapper.html @@ -7,5 +7,5 @@

Macro mcaptcha::data::enum_system_wrapper

source · []
macro_rules! enum_system_wrapper {
     ($name:ident, $type:ty, $return_type:ty) => { ... };
 }
-
+
\ No newline at end of file diff --git a/mcaptcha/data/struct.Data.html b/mcaptcha/data/struct.Data.html index 56875927..eb337ae3 100644 --- a/mcaptcha/data/struct.Data.html +++ b/mcaptcha/data/struct.Data.html @@ -5,39 +5,39 @@
pub struct Data {
-    pub db: Box<dyn MCDatabase>,
+    pub db: Box<dyn MCDatabase>,
     pub creds: Config,
     pub captcha: SystemGroup,
-    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
+    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
     pub settings: Settings,
-    pub stats: Box<dyn Stats>,
+    pub stats: Box<dyn Stats>,
 }
Expand description

App data

-

Fields

db: Box<dyn MCDatabase>

database ops defined by db crates

+

Fields

db: Box<dyn MCDatabase>

database ops defined by db crates

creds: Config

credential management configuration

captcha: SystemGroup

mCaptcha system: Redis cache, etc.

-
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

+
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

settings: Settings

app settings

-
stats: Box<dyn Stats>

stats recorder

-

Implementations

create new instance of app data

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+
stats: Box<dyn Stats>

stats recorder

+

Implementations

create new instance of app data

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/data/type.Mailer.html b/mcaptcha/data/type.Mailer.html index e70d7d24..d28269e2 100644 --- a/mcaptcha/data/type.Mailer.html +++ b/mcaptcha/data/type.Mailer.html @@ -5,5 +5,5 @@

Type Definition mcaptcha::data::Mailer

source · []
Expand description

Mailer data type AsyncSmtpTransport

-
+
\ No newline at end of file diff --git a/mcaptcha/date/constant.DAY.html b/mcaptcha/date/constant.DAY.html index 78129e3d..815752ec 100644 --- a/mcaptcha/date/constant.DAY.html +++ b/mcaptcha/date/constant.DAY.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::date::DAY

source · []
pub const DAY: i64 = HOUR * 24; // 86_400i64
+

Constant mcaptcha::date::DAY

source · []
pub const DAY: i64 = HOUR * 24; // 86_400i64
\ No newline at end of file diff --git a/mcaptcha/date/constant.HOUR.html b/mcaptcha/date/constant.HOUR.html index 02cbfe8c..68254b44 100644 --- a/mcaptcha/date/constant.HOUR.html +++ b/mcaptcha/date/constant.HOUR.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::date::HOUR

source · []
pub const HOUR: i64 = MINUTE * 60; // 3_600i64
+

Constant mcaptcha::date::HOUR

source · []
pub const HOUR: i64 = MINUTE * 60; // 3_600i64
\ No newline at end of file diff --git a/mcaptcha/date/constant.MINUTE.html b/mcaptcha/date/constant.MINUTE.html index c5d76ab1..4523053c 100644 --- a/mcaptcha/date/constant.MINUTE.html +++ b/mcaptcha/date/constant.MINUTE.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::date::MINUTE

source · []
pub const MINUTE: i64 = 60;
+

Constant mcaptcha::date::MINUTE

source · []
pub const MINUTE: i64 = 60;
\ No newline at end of file diff --git a/mcaptcha/date/constant.WEEK.html b/mcaptcha/date/constant.WEEK.html index 488340fe..a70d2af8 100644 --- a/mcaptcha/date/constant.WEEK.html +++ b/mcaptcha/date/constant.WEEK.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::date::WEEK

source · []
pub const WEEK: i64 = DAY * 7; // 604_800i64
+

Constant mcaptcha::date::WEEK

source · []
pub const WEEK: i64 = DAY * 7; // 604_800i64
\ No newline at end of file diff --git a/mcaptcha/date/index.html b/mcaptcha/date/index.html index ca997687..0208fd23 100644 --- a/mcaptcha/date/index.html +++ b/mcaptcha/date/index.html @@ -6,5 +6,5 @@

Module date

+
\ No newline at end of file diff --git a/mcaptcha/date/struct.Date.html b/mcaptcha/date/struct.Date.html index 95de79be..062896ca 100644 --- a/mcaptcha/date/struct.Date.html +++ b/mcaptcha/date/struct.Date.html @@ -6,33 +6,33 @@

Date

pub struct Date {
     pub time: OffsetDateTime,
-}

Fields

time: OffsetDateTime

Implementations

print relative time from date

-

print date

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

time: OffsetDateTime

Implementations

print relative time from date

+

print date

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_PASSWORD.html b/mcaptcha/demo/constant.DEMO_PASSWORD.html index f8d19220..a4f833aa 100644 --- a/mcaptcha/demo/constant.DEMO_PASSWORD.html +++ b/mcaptcha/demo/constant.DEMO_PASSWORD.html @@ -4,6 +4,6 @@
pub const DEMO_PASSWORD: &str = "password";
Expand description

Demo password

-
+

Constant mcaptcha::demo::DEMO_PASSWORD

source · []
pub const DEMO_PASSWORD: &str = "password";
Expand description

Demo password

+
\ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_USER.html b/mcaptcha/demo/constant.DEMO_USER.html index 90fd159a..13518f6a 100644 --- a/mcaptcha/demo/constant.DEMO_USER.html +++ b/mcaptcha/demo/constant.DEMO_USER.html @@ -4,6 +4,6 @@
pub const DEMO_USER: &str = "aaronsw";
Expand description

Demo username

-
+

Constant mcaptcha::demo::DEMO_USER

source · []
pub const DEMO_USER: &str = "aaronsw";
Expand description

Demo username

+
\ No newline at end of file diff --git a/mcaptcha/demo/index.html b/mcaptcha/demo/index.html index e71c4863..80fbfac5 100644 --- a/mcaptcha/demo/index.html +++ b/mcaptcha/demo/index.html @@ -8,5 +8,5 @@

Constants

Demo password

Demo username

-
+
\ No newline at end of file diff --git a/mcaptcha/demo/struct.DemoUser.html b/mcaptcha/demo/struct.DemoUser.html index c9d7187f..b1c463b2 100644 --- a/mcaptcha/demo/struct.DemoUser.html +++ b/mcaptcha/demo/struct.DemoUser.html @@ -5,27 +5,27 @@
pub struct DemoUser {
-    handle: JoinHandle<()>,
-}

Fields

handle: JoinHandle<()>

Implementations

register demo user runner

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ handle: JoinHandle<()>, +}

Fields

handle: JoinHandle<()>

Implementations

register demo user runner

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/constant.DOCS.html b/mcaptcha/docs/constant.DOCS.html index d7e7a563..e26166d7 100644 --- a/mcaptcha/docs/constant.DOCS.html +++ b/mcaptcha/docs/constant.DOCS.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::docs::DOCS

source · []
pub const DOCS: Docs;
+

Constant mcaptcha::docs::DOCS

source · []
pub const DOCS: Docs;
\ No newline at end of file diff --git a/mcaptcha/docs/constant.OPEN_API_SPEC.html b/mcaptcha/docs/constant.OPEN_API_SPEC.html index 27585243..9468efc0 100644 --- a/mcaptcha/docs/constant.OPEN_API_SPEC.html +++ b/mcaptcha/docs/constant.OPEN_API_SPEC.html @@ -4,5 +4,5 @@
const OPEN_API_SPEC: &str = "openapi: 3.0.0\ninfo:\n  version: 0.1.0\n  title: mCaptcha/guard\nservers:\n  - url: /\npaths:\n  /api/v1/signup:\n    post:\n      summary: Registration endpoint\n      operationId: registerUser\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/RegisterUser\'\n            example:\n              username: testuser\n              password: mysuperlongandsecurepassword\n              email: testuser@example.com\n      responses:\n        \'200\':\n          description: Successful registration\n        \'400\':\n          description: \'Bad request: username contains profainity/blacklisted words or email not acceptable or password too long/short or duplicate username/password\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/signin:\n    post:\n      summary: Login endpoint\n      operationId: loginUser\n      tags:\n        - user\n        - authentication\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/LoginUser\'\n            example:\n              username: testuser\n              password: mysuperlongandsecurepassword\n      responses:\n        \'200\':\n          description: Successful authentication\n        \'401\':\n          description: \'authentication failed, wrong password\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: username not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/signout:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Signout endpoint\n      operationId: signoutUser\n      tags:\n        - user\n        - authentication\n      responses:\n        \'200\':\n          description: OK\n  /api/v1/account/delete:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Delete account\n      operationId: deleteAccount\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/DeleteUser\'\n            example:\n              password: mysuperlongandsecurepassword\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: username not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/account/username/exists:\n    post:\n      summary: Check if username exists\n      operationId: usernameExists\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UserDetailCheck\'\n            example:\n              val: testuser\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/UserDetailCheckRes\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/account/email/exists:\n    post:\n      summary: Check if email exists\n      operationId: emailExists\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UserDetailCheck\'\n            example:\n              val: testuser@example.com\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/UserDetailCheckRes\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/meta/health:\n    get:\n      summary: Health check\n      operationId: healthCheck\n      tags:\n        - meta\n        - health\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Health\'\n  /api/v1/meta/build:\n    get:\n      summary: Get server binary build details\n      operationId: buildDetails\n      tags:\n        - meta\n        - build\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/BuildDetails\'\n  /api/v1/mcaptcha/domain/token/add:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Add token for registered domain\n      operationId: addToken\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI or duplicate token name\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/update:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Update token key\n      operationId: updateTokenKey\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI or duplicate token name\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/get:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Get token key\n      operationId: getTokenKey\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: token name not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/delete:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Delete token from mcaptcha\n      operationId: deleteToken\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/add:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Add levels to a token\n      operationId: addTokenLevels\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: duplicate visitor count or difficulty_factor is zero or difficulty_factor decreases with increase in visitor count\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/update:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Update levels of a token\n      operationId: updateTokenLevels\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: duplicate visitor count or difficulty_factor is zero or difficulty_factor decreases with increase in visitor count\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/delete:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      summary: Delete levels of a token\n      operationId: deleteTokenLevels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/get:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      summary: Get levels of a token\n      operationId: getTokenLevels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Levels\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/token/get:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n        - duration\n      summary: Get duration of a token\n      operationId: getTokenDuration\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/GetDuration\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Duration\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/token/update:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n        - duration\n      summary: update duration of a token\n      operationId: updateTokenDuration\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UpdateDuration\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: \'Bad request: Duration must be greater than 0\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\ncomponents:\n  schemas:\n    RegisterUser:\n      type: object\n      required:\n        - username\n        - password\n        - email\n      properties:\n        username:\n          type: string\n        email:\n          type: string\n        password:\n          type: string\n          format: password\n    LoginUser:\n      type: object\n      required:\n        - username\n        - password\n      properties:\n        username:\n          type: string\n        password:\n          type: string\n          format: password\n    DeleteUser:\n      type: object\n      required:\n        - password\n      properties:\n        password:\n          type: string\n          format: password\n    Error:\n      type: object\n      required:\n        - error\n      properties:\n        error:\n          type: string\n    User:\n      type: object\n      required:\n        - id\n        - name\n      properties:\n        id:\n          type: integer\n          format: int64\n        name:\n          type: string\n    UserDetailCheck:\n      type: object\n      required:\n        - val\n      properties:\n        val:\n          type: string\n    Health:\n      type: object\n      required:\n        - db\n      properties:\n        db:\n          type: boolean\n    UserDetailCheckRes:\n      type: object\n      required:\n        - exists\n      properties:\n        val:\n          type: boolean\n    BuildDetails:\n      type: object\n      required:\n        - version\n        - git_commit_hash\n      properties:\n        version:\n          type: string\n        git_commit_hash:\n          type: string\n    AddDomain:\n      type: object\n      required:\n        - name\n      properties:\n        name:\n          type: string\n    DomainVerificationChallenge:\n      type: object\n      required:\n        - verification_challenge\n      properties:\n        verification_challenge:\n          type: string\n    MCaptchaID:\n      type: object\n      required:\n        - name\n        - domain\n      properties:\n        name:\n          type: string\n        domain:\n          type: string\n    MCaptchaDetails:\n      type: object\n      required:\n        - name\n        - key\n      properties:\n        name:\n          type: string\n        key:\n          type: string\n    Level:\n      type: object\n      required:\n        - visitor_threshold\n        - difficulty_factor\n      properties:\n        visitor_threshold:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n        difficulty_factor:\n          type: number\n          minimum: 1\n    GetLevels:\n      type: object\n      required:\n        - token\n      properties:\n        token:\n          type: string\n    Levels:\n      type: array\n      items:\n        $ref: \'#/components/schemas/Level\'\n    AddLevels:\n      type: object\n      required:\n        - name\n        - levels\n      properties:\n        name:\n          type: string\n        levels:\n          type: array\n          items:\n            $ref: \'#/components/schemas/Level\'\n    GetDuration:\n      type: object\n      required:\n        - token\n      properties:\n        token:\n          type: string\n    Duration:\n      type: object\n      required:\n        - duration\n      properties:\n        duration:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n    UpdateDuration:\n      type: object\n      required:\n        - duration\n        - token_name\n      properties:\n        token_name:\n          type: string\n        duration:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n  securitySchemes:\n    cookieAuth:\n      type: apiKey\n      in: cookie\n      name: Authorization\n";
+

Constant mcaptcha::docs::OPEN_API_SPEC

source · []
const OPEN_API_SPEC: &str = "openapi: 3.0.0\ninfo:\n  version: 0.1.0\n  title: mCaptcha/guard\nservers:\n  - url: /\npaths:\n  /api/v1/signup:\n    post:\n      summary: Registration endpoint\n      operationId: registerUser\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/RegisterUser\'\n            example:\n              username: testuser\n              password: mysuperlongandsecurepassword\n              email: testuser@example.com\n      responses:\n        \'200\':\n          description: Successful registration\n        \'400\':\n          description: \'Bad request: username contains profainity/blacklisted words or email not acceptable or password too long/short or duplicate username/password\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/signin:\n    post:\n      summary: Login endpoint\n      operationId: loginUser\n      tags:\n        - user\n        - authentication\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/LoginUser\'\n            example:\n              username: testuser\n              password: mysuperlongandsecurepassword\n      responses:\n        \'200\':\n          description: Successful authentication\n        \'401\':\n          description: \'authentication failed, wrong password\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: username not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/signout:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Signout endpoint\n      operationId: signoutUser\n      tags:\n        - user\n        - authentication\n      responses:\n        \'200\':\n          description: OK\n  /api/v1/account/delete:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Delete account\n      operationId: deleteAccount\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/DeleteUser\'\n            example:\n              password: mysuperlongandsecurepassword\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: username not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/account/username/exists:\n    post:\n      summary: Check if username exists\n      operationId: usernameExists\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UserDetailCheck\'\n            example:\n              val: testuser\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/UserDetailCheckRes\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/account/email/exists:\n    post:\n      summary: Check if email exists\n      operationId: emailExists\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UserDetailCheck\'\n            example:\n              val: testuser@example.com\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/UserDetailCheckRes\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/meta/health:\n    get:\n      summary: Health check\n      operationId: healthCheck\n      tags:\n        - meta\n        - health\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Health\'\n  /api/v1/meta/build:\n    get:\n      summary: Get server binary build details\n      operationId: buildDetails\n      tags:\n        - meta\n        - build\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/BuildDetails\'\n  /api/v1/mcaptcha/domain/token/add:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Add token for registered domain\n      operationId: addToken\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI or duplicate token name\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/update:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Update token key\n      operationId: updateTokenKey\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI or duplicate token name\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/get:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Get token key\n      operationId: getTokenKey\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: token name not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/delete:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Delete token from mcaptcha\n      operationId: deleteToken\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/add:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Add levels to a token\n      operationId: addTokenLevels\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: duplicate visitor count or difficulty_factor is zero or difficulty_factor decreases with increase in visitor count\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/update:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Update levels of a token\n      operationId: updateTokenLevels\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: duplicate visitor count or difficulty_factor is zero or difficulty_factor decreases with increase in visitor count\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/delete:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      summary: Delete levels of a token\n      operationId: deleteTokenLevels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/get:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      summary: Get levels of a token\n      operationId: getTokenLevels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Levels\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/token/get:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n        - duration\n      summary: Get duration of a token\n      operationId: getTokenDuration\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/GetDuration\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Duration\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/token/update:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n        - duration\n      summary: update duration of a token\n      operationId: updateTokenDuration\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UpdateDuration\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: \'Bad request: Duration must be greater than 0\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\ncomponents:\n  schemas:\n    RegisterUser:\n      type: object\n      required:\n        - username\n        - password\n        - email\n      properties:\n        username:\n          type: string\n        email:\n          type: string\n        password:\n          type: string\n          format: password\n    LoginUser:\n      type: object\n      required:\n        - username\n        - password\n      properties:\n        username:\n          type: string\n        password:\n          type: string\n          format: password\n    DeleteUser:\n      type: object\n      required:\n        - password\n      properties:\n        password:\n          type: string\n          format: password\n    Error:\n      type: object\n      required:\n        - error\n      properties:\n        error:\n          type: string\n    User:\n      type: object\n      required:\n        - id\n        - name\n      properties:\n        id:\n          type: integer\n          format: int64\n        name:\n          type: string\n    UserDetailCheck:\n      type: object\n      required:\n        - val\n      properties:\n        val:\n          type: string\n    Health:\n      type: object\n      required:\n        - db\n      properties:\n        db:\n          type: boolean\n    UserDetailCheckRes:\n      type: object\n      required:\n        - exists\n      properties:\n        val:\n          type: boolean\n    BuildDetails:\n      type: object\n      required:\n        - version\n        - git_commit_hash\n      properties:\n        version:\n          type: string\n        git_commit_hash:\n          type: string\n    AddDomain:\n      type: object\n      required:\n        - name\n      properties:\n        name:\n          type: string\n    DomainVerificationChallenge:\n      type: object\n      required:\n        - verification_challenge\n      properties:\n        verification_challenge:\n          type: string\n    MCaptchaID:\n      type: object\n      required:\n        - name\n        - domain\n      properties:\n        name:\n          type: string\n        domain:\n          type: string\n    MCaptchaDetails:\n      type: object\n      required:\n        - name\n        - key\n      properties:\n        name:\n          type: string\n        key:\n          type: string\n    Level:\n      type: object\n      required:\n        - visitor_threshold\n        - difficulty_factor\n      properties:\n        visitor_threshold:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n        difficulty_factor:\n          type: number\n          minimum: 1\n    GetLevels:\n      type: object\n      required:\n        - token\n      properties:\n        token:\n          type: string\n    Levels:\n      type: array\n      items:\n        $ref: \'#/components/schemas/Level\'\n    AddLevels:\n      type: object\n      required:\n        - name\n        - levels\n      properties:\n        name:\n          type: string\n        levels:\n          type: array\n          items:\n            $ref: \'#/components/schemas/Level\'\n    GetDuration:\n      type: object\n      required:\n        - token\n      properties:\n        token:\n          type: string\n    Duration:\n      type: object\n      required:\n        - duration\n      properties:\n        duration:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n    UpdateDuration:\n      type: object\n      required:\n        - duration\n        - token_name\n      properties:\n        token_name:\n          type: string\n        duration:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n  securitySchemes:\n    cookieAuth:\n      type: apiKey\n      in: cookie\n      name: Authorization\n";
\ No newline at end of file diff --git a/mcaptcha/docs/fn.handle_embedded_file.html b/mcaptcha/docs/fn.handle_embedded_file.html index 0a6fd3a1..5a5fb3dc 100644 --- a/mcaptcha/docs/fn.handle_embedded_file.html +++ b/mcaptcha/docs/fn.handle_embedded_file.html @@ -4,5 +4,5 @@
pub fn handle_embedded_file(path: &str) -> HttpResponse
+

Function mcaptcha::docs::handle_embedded_file

source · []
pub fn handle_embedded_file(path: &str) -> HttpResponse
\ No newline at end of file diff --git a/mcaptcha/docs/fn.services.html b/mcaptcha/docs/fn.services.html index e8ad7195..b5a5a7b3 100644 --- a/mcaptcha/docs/fn.services.html +++ b/mcaptcha/docs/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::docs::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/docs/index.html b/mcaptcha/docs/index.html index 1ff335dc..d4069376 100644 --- a/mcaptcha/docs/index.html +++ b/mcaptcha/docs/index.html @@ -8,5 +8,5 @@

Structs

Constants

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/routes/index.html b/mcaptcha/docs/routes/index.html index 0b9811c1..3a8be3c0 100644 --- a/mcaptcha/docs/routes/index.html +++ b/mcaptcha/docs/routes/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/docs/routes/struct.Docs.html b/mcaptcha/docs/routes/struct.Docs.html index ac9d11c4..a0cc9d01 100644 --- a/mcaptcha/docs/routes/struct.Docs.html +++ b/mcaptcha/docs/routes/struct.Docs.html @@ -5,28 +5,28 @@
pub struct Docs {
-    pub home: &'static str,
-    pub spec: &'static str,
-    pub assets: &'static str,
-}

Fields

home: &'static strspec: &'static strassets: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub home: &'static str, + pub spec: &'static str, + pub assets: &'static str, +}

Fields

home: &'static strspec: &'static strassets: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.Asset.html b/mcaptcha/docs/struct.Asset.html index b98abadb..21515999 100644 --- a/mcaptcha/docs/struct.Asset.html +++ b/mcaptcha/docs/struct.Asset.html @@ -4,29 +4,29 @@
struct Asset;

Implementations

Get an embedded file and its metadata.

-

Iterates over the file paths in the folder.

-

Trait Implementations

Get an embedded file and its metadata. Read more

+

Struct mcaptcha::docs::Asset

source · []
struct Asset;

Implementations

Get an embedded file and its metadata.

+

Iterates over the file paths in the folder.

+

Trait Implementations

Get an embedded file and its metadata. Read more

Iterates over the file paths in the folder. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.dist.html b/mcaptcha/docs/struct.dist.html index d07e699c..ad29f556 100644 --- a/mcaptcha/docs/struct.dist.html +++ b/mcaptcha/docs/struct.dist.html @@ -4,25 +4,25 @@
-

Struct mcaptcha::docs::dist

source · []
pub struct dist;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::docs::dist

source · []
pub struct dist;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.index.html b/mcaptcha/docs/struct.index.html index 5e3a83bc..76c90efe 100644 --- a/mcaptcha/docs/struct.index.html +++ b/mcaptcha/docs/struct.index.html @@ -4,25 +4,25 @@
pub struct index;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::docs::index

source · []
pub struct index;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.spec.html b/mcaptcha/docs/struct.spec.html index e21a1ccb..d7f136d9 100644 --- a/mcaptcha/docs/struct.spec.html +++ b/mcaptcha/docs/struct.spec.html @@ -4,25 +4,25 @@
-

Struct mcaptcha::docs::spec

source · []
pub struct spec;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::docs::spec

source · []
pub struct spec;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/email/index.html b/mcaptcha/email/index.html index adadca4d..4afbaa51 100644 --- a/mcaptcha/email/index.html +++ b/mcaptcha/email/index.html @@ -6,5 +6,5 @@

Module email

Modules

Email operations: verification, notification, etc

-
+
\ No newline at end of file diff --git a/mcaptcha/email/verification/constant.PAGE.html b/mcaptcha/email/verification/constant.PAGE.html index 6e5b7917..57869ec5 100644 --- a/mcaptcha/email/verification/constant.PAGE.html +++ b/mcaptcha/email/verification/constant.PAGE.html @@ -4,5 +4,5 @@
const PAGE: &str = "Login";
+

Constant mcaptcha::email::verification::PAGE

source · []
const PAGE: &str = "Login";
\ No newline at end of file diff --git a/mcaptcha/email/verification/fn.verification.html b/mcaptcha/email/verification/fn.verification.html index b475689c..e4439649 100644 --- a/mcaptcha/email/verification/fn.verification.html +++ b/mcaptcha/email/verification/fn.verification.html @@ -4,5 +4,5 @@
async fn verification(
    data: &Data,
    to: &str,
    verification_link: &str
) -> Result<(), ServiceError>
+

Function mcaptcha::email::verification::verification

source · []
async fn verification(
    data: &Data,
    to: &str,
    verification_link: &str
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/email/verification/index.html b/mcaptcha/email/verification/index.html index f2924f84..ef8535c0 100644 --- a/mcaptcha/email/verification/index.html +++ b/mcaptcha/email/verification/index.html @@ -8,5 +8,5 @@

Structs

IndexPage 🔒

Constants

PAGE 🔒

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/email/verification/struct.IndexPage.html b/mcaptcha/email/verification/struct.IndexPage.html index 9d97fce6..7c458599 100644 --- a/mcaptcha/email/verification/struct.IndexPage.html +++ b/mcaptcha/email/verification/struct.IndexPage.html @@ -5,33 +5,33 @@
struct IndexPage<'a> {
-    verification_link: &'a str,
-}

Fields

verification_link: &'a str

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

+ verification_link: &'a str, +}

Fields

verification_link: &'a str

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

Render the template and return the rendering result as RenderResult Read more

-

Render the template and append the result to buf. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Render the template and append the result to buf. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/enum.PageError.html b/mcaptcha/errors/enum.PageError.html index 45fab1f3..9659a1b1 100644 --- a/mcaptcha/errors/enum.PageError.html +++ b/mcaptcha/errors/enum.PageError.html @@ -7,39 +7,39 @@

Enum mcaptcha::errors::PageError

source · []
pub enum PageError {
     InternalServerError,
     ServiceError(ServiceError),
-}

Variants

InternalServerError

ServiceError(ServiceError)

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

+}

Variants

InternalServerError

ServiceError(ServiceError)

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

Creates full response for error. Read more

Returns appropriate status code for error. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/enum.ServiceError.html b/mcaptcha/errors/enum.ServiceError.html index ba1db71d..9d168fb5 100644 --- a/mcaptcha/errors/enum.ServiceError.html +++ b/mcaptcha/errors/enum.ServiceError.html @@ -38,46 +38,46 @@ profile

TokenNotFound

token not found

CaptchaError(CaptchaError)

DBError(DBErrorWrapper)

CaptchaNotFound

captcha not found

TrafficPatternNotFound

Traffic pattern not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

Creates full response for error. Read more

Returns appropriate status code for error. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/index.html b/mcaptcha/errors/index.html index 937308f7..2440f5ae 100644 --- a/mcaptcha/errors/index.html +++ b/mcaptcha/errors/index.html @@ -7,5 +7,5 @@

Module mcaptcha::errors

source · []

Structs

Enums

Type Definitions

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/struct.DBErrorWrapper.html b/mcaptcha/errors/struct.DBErrorWrapper.html index a1369373..cf8f4173 100644 --- a/mcaptcha/errors/struct.DBErrorWrapper.html +++ b/mcaptcha/errors/struct.DBErrorWrapper.html @@ -4,35 +4,35 @@
pub struct DBErrorWrapper(DBError);

Tuple Fields

0: DBError

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::errors::DBErrorWrapper

source · []
pub struct DBErrorWrapper(DBError);

Tuple Fields

0: DBError

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/struct.ErrorToResponse.html b/mcaptcha/errors/struct.ErrorToResponse.html index a6a03abe..1fca5876 100644 --- a/mcaptcha/errors/struct.ErrorToResponse.html +++ b/mcaptcha/errors/struct.ErrorToResponse.html @@ -5,28 +5,28 @@
pub struct ErrorToResponse {
-    pub error: String,
-}

Fields

error: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub error: String, +}

Fields

error: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/struct.SmtpErrorWrapper.html b/mcaptcha/errors/struct.SmtpErrorWrapper.html index d736aa89..acaeeb94 100644 --- a/mcaptcha/errors/struct.SmtpErrorWrapper.html +++ b/mcaptcha/errors/struct.SmtpErrorWrapper.html @@ -4,35 +4,35 @@
pub struct SmtpErrorWrapper(SmtpError);

Tuple Fields

0: SmtpError

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Struct mcaptcha::errors::SmtpErrorWrapper

source · []
pub struct SmtpErrorWrapper(SmtpError);

Tuple Fields

0: SmtpError

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/type.PageResult.html b/mcaptcha/errors/type.PageResult.html index f099795f..2ad07695 100644 --- a/mcaptcha/errors/type.PageResult.html +++ b/mcaptcha/errors/type.PageResult.html @@ -4,5 +4,5 @@
-

Type Definition mcaptcha::errors::PageResult

source · []
pub type PageResult<V> = Result<V, PageError>;
+

Type Definition mcaptcha::errors::PageResult

source · []
pub type PageResult<V> = Result<V, PageError>;
\ No newline at end of file diff --git a/mcaptcha/errors/type.ServiceResult.html b/mcaptcha/errors/type.ServiceResult.html index 84241e0a..c455945c 100644 --- a/mcaptcha/errors/type.ServiceResult.html +++ b/mcaptcha/errors/type.ServiceResult.html @@ -4,5 +4,5 @@
-

Type Definition mcaptcha::errors::ServiceResult

source · []
pub type ServiceResult<V> = Result<V, ServiceError>;
+

Type Definition mcaptcha::errors::ServiceResult

source · []
pub type ServiceResult<V> = Result<V, ServiceError>;
\ No newline at end of file diff --git a/mcaptcha/fn.get_identity_service.html b/mcaptcha/fn.get_identity_service.html index f90283ad..b73ba56d 100644 --- a/mcaptcha/fn.get_identity_service.html +++ b/mcaptcha/fn.get_identity_service.html @@ -4,5 +4,5 @@
pub fn get_identity_service(
    settings: &Settings
) -> IdentityService<CookieIdentityPolicy>
+

Function mcaptcha::get_identity_service

source · []
pub fn get_identity_service(
    settings: &Settings
) -> IdentityService<CookieIdentityPolicy>
\ No newline at end of file diff --git a/mcaptcha/fn.get_json_err.html b/mcaptcha/fn.get_json_err.html index 3775234e..c7f638b5 100644 --- a/mcaptcha/fn.get_json_err.html +++ b/mcaptcha/fn.get_json_err.html @@ -4,5 +4,5 @@
pub fn get_json_err() -> JsonConfig
+

Function mcaptcha::get_json_err

source · []
pub fn get_json_err() -> JsonConfig
\ No newline at end of file diff --git a/mcaptcha/fn.main.html b/mcaptcha/fn.main.html index ada87954..3407d9cb 100644 --- a/mcaptcha/fn.main.html +++ b/mcaptcha/fn.main.html @@ -4,5 +4,5 @@
-

Function mcaptcha::main

source · []
pub(crate) fn main() -> Result<()>
+

Function mcaptcha::main

source · []
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/mcaptcha/index.html b/mcaptcha/index.html index 1066a8ba..d7803aa3 100644 --- a/mcaptcha/index.html +++ b/mcaptcha/index.html @@ -13,5 +13,5 @@

Constants

Functions

Type Definitions

-
+
\ No newline at end of file diff --git a/mcaptcha/pages/auth/fn.services.html b/mcaptcha/pages/auth/fn.services.html index e71078f4..0f4a36c4 100644 --- a/mcaptcha/pages/auth/fn.services.html +++ b/mcaptcha/pages/auth/fn.services.html @@ -4,5 +4,5 @@
pub fn services(cfg: &mut ServiceConfig)
+

Function mcaptcha::pages::auth::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/pages/auth/index.html b/mcaptcha/pages/auth/index.html index 6355e262..fb384c4a 100644 --- a/mcaptcha/pages/auth/index.html +++ b/mcaptcha/pages/auth/index.html @@ -6,5 +6,5 @@

Module auth

+
\ No newline at end of file diff --git a/mcaptcha/pages/auth/login/constant.PAGE.html b/mcaptcha/pages/auth/login/constant.PAGE.html index 9b60cb08..b3cc8838 100644 --- a/mcaptcha/pages/auth/login/constant.PAGE.html +++ b/mcaptcha/pages/auth/login/constant.PAGE.html @@ -4,5 +4,5 @@
const PAGE: &str = "Login";
+

Constant mcaptcha::pages::auth::login::PAGE

source · []
const PAGE: &str = "Login";
\ No newline at end of file diff --git a/mcaptcha/pages/auth/login/index.html b/mcaptcha/pages/auth/login/index.html index 35117458..4da527d4 100644 --- a/mcaptcha/pages/auth/login/index.html +++ b/mcaptcha/pages/auth/login/index.html @@ -6,5 +6,5 @@

Module login

+
PAGE 🔒
\ No newline at end of file diff --git a/mcaptcha/pages/auth/login/struct.INDEX.html b/mcaptcha/pages/auth/login/struct.INDEX.html index e817ff64..cf4b326d 100644 --- a/mcaptcha/pages/auth/login/struct.INDEX.html +++ b/mcaptcha/pages/auth/login/struct.INDEX.html @@ -5,30 +5,30 @@
struct INDEX {
-    __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = String>

Extracts a string slice containing the entire String.

+ __private_field: (), +}

Fields

__private_field: ()

Methods from Deref<Target = String>

Extracts a string slice containing the entire String.

Examples

Basic usage:

let s = String::from("foo");
 
 assert_eq!("foo", s.as_str());
-

Returns this String’s capacity, in bytes.

+

Returns this String’s capacity, in bytes.

Examples

Basic usage:

let s = String::with_capacity(10);
 
 assert!(s.capacity() >= 10);
-

Returns a byte slice of this String’s contents.

-

The inverse of this method is from_utf8.

+

Returns a byte slice of this String’s contents.

+

The inverse of this method is from_utf8.

Examples

Basic usage:

let s = String::from("hello");
 
 assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
-

Returns the length of this String, in bytes, not chars or +

Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

Examples
@@ -40,7 +40,7 @@ length of the string.

let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
-

Returns true if this String has a length of zero, and false otherwise.

+

Returns true if this String has a length of zero, and false otherwise.

Examples

Basic usage:

@@ -49,8 +49,8 @@ length of the string.

v.push('a'); assert!(!v.is_empty());
-

Methods from Deref<Target = str>

Returns the length of self.

-

This length is in bytes, not chars or graphemes. In other words, +

Methods from Deref<Target = str>

Returns the length of self.

+

This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

Examples

Basic usage:

@@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
-

Returns true if self has a length of zero bytes.

+

Returns true if self has a length of zero bytes.

Examples

Basic usage:

@@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

let s = "not empty"; assert!(!s.is_empty());
-

Checks that index-th byte is the first byte in a UTF-8 code point +

Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

The start and end of the string (when index == self.len()) are considered to be boundaries.

@@ -86,7 +86,7 @@ considered to be boundaries.

// third byte of `老` assert!(!s.is_char_boundary(8));
-
🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not exceeding index where is_char_boundary(x) is true.

+
🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not exceeding index where is_char_boundary(x) is true.

This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
-
🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not below index where is_char_boundary(x) is true.

-

This method is the natural complement to floor_char_boundary. See that method +

🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not below index where is_char_boundary(x) is true.

+

This method is the natural complement to floor_char_boundary. See that method for more details.

Panics

Panics if index > self.len().

@@ -115,14 +115,14 @@ for more details.

let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
-

Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

+

Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

Examples

Basic usage:

let bytes = "bors".as_bytes();
 assert_eq!(b"bors", bytes);
-

Converts a mutable string slice to a mutable byte slice.

+

Converts a mutable string slice to a mutable byte slice.

Safety

The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

@@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

} assert_eq!("🍔∈🌏", s);
-

Converts a string slice to a raw pointer.

+

Converts a string slice to a raw pointer.

As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

+If you need to mutate the contents of the string slice, use as_mut_ptr.

Examples

Basic usage:

let s = "Hello";
 let ptr = s.as_ptr();
-

Converts a mutable string slice to a raw pointer.

+

Converts a mutable string slice to a raw pointer.

As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

-

Returns a subslice of str.

+

Returns a subslice of str.

This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

+None whenever equivalent indexing operation would panic.

Examples
let v = String::from("🗻∈🌏");
 
@@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

// out of bounds assert!(v.get(..42).is_none());
-

Returns a mutable subslice of str.

+

Returns a mutable subslice of str.

This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

+None whenever equivalent indexing operation would panic.

Examples
let mut v = String::from("hello");
 // correct length
@@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
-

Returns an unchecked subslice of str.

+

Returns an unchecked subslice of str.

This is the unchecked alternative to indexing the str.

Safety

Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
-

Returns a mutable, unchecked subslice of str.

+

Returns a mutable, unchecked subslice of str.

This is the unchecked alternative to indexing the str.

Safety

Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
-
👎 Deprecated since 1.29.0:

use get_unchecked(begin..end) instead

+
👎 Deprecated since 1.29.0:

use get_unchecked(begin..end) instead

Creates a string slice from another string slice, bypassing safety checks.

This is generally not recommended, use with caution! For a safe -alternative see str and Index.

+alternative see str and Index.

This new slice goes from begin to end, including begin but excluding end.

To get a mutable string slice instead, see the -slice_mut_unchecked method.

+slice_mut_unchecked method.

Safety

Callers of this function are responsible that three preconditions are satisfied:

@@ -269,15 +269,15 @@ satisfied:

unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
-
👎 Deprecated since 1.29.0:

use get_unchecked_mut(begin..end) instead

+
👎 Deprecated since 1.29.0:

use get_unchecked_mut(begin..end) instead

Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

+alternative see str and IndexMut.

This new slice goes from begin to end, including begin but excluding end.

To get an immutable string slice instead, see the -slice_unchecked method.

+slice_unchecked method.

Safety

Callers of this function are responsible that three preconditions are satisfied:

@@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/login/struct.IndexPage.html b/mcaptcha/pages/auth/login/struct.IndexPage.html index 45d587b7..8e7eeb3e 100644 --- a/mcaptcha/pages/auth/login/struct.IndexPage.html +++ b/mcaptcha/pages/auth/login/struct.IndexPage.html @@ -4,33 +4,33 @@
    struct IndexPage;

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    +

    Struct mcaptcha::pages::auth::login::IndexPage

    source · []
    struct IndexPage;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/login/struct.login.html b/mcaptcha/pages/auth/login/struct.login.html index 21d00bbf..472fc391 100644 --- a/mcaptcha/pages/auth/login/struct.login.html +++ b/mcaptcha/pages/auth/login/struct.login.html @@ -4,25 +4,25 @@
    pub struct login;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::auth::login::login

    source · []
    pub struct login;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/constant.PAGE.html b/mcaptcha/pages/auth/register/constant.PAGE.html index 454b2b18..3f66241f 100644 --- a/mcaptcha/pages/auth/register/constant.PAGE.html +++ b/mcaptcha/pages/auth/register/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "Join";
    +

    Constant mcaptcha::pages::auth::register::PAGE

    source · []
    const PAGE: &str = "Join";
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/index.html b/mcaptcha/pages/auth/register/index.html index 404fe84e..06e0fe41 100644 --- a/mcaptcha/pages/auth/register/index.html +++ b/mcaptcha/pages/auth/register/index.html @@ -6,5 +6,5 @@

    Module register

    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/struct.INDEX.html b/mcaptcha/pages/auth/register/struct.INDEX.html index 8bdf0262..51f47b81 100644 --- a/mcaptcha/pages/auth/register/struct.INDEX.html +++ b/mcaptcha/pages/auth/register/struct.INDEX.html @@ -5,30 +5,30 @@
    struct INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/struct.IndexPage.html b/mcaptcha/pages/auth/register/struct.IndexPage.html index deaa4d2b..6be94c58 100644 --- a/mcaptcha/pages/auth/register/struct.IndexPage.html +++ b/mcaptcha/pages/auth/register/struct.IndexPage.html @@ -4,33 +4,33 @@
    struct IndexPage;

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    +

    Struct mcaptcha::pages::auth::register::IndexPage

    source · []
    struct IndexPage;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/struct.join.html b/mcaptcha/pages/auth/register/struct.join.html index be29706f..abc1e994 100644 --- a/mcaptcha/pages/auth/register/struct.join.html +++ b/mcaptcha/pages/auth/register/struct.join.html @@ -4,25 +4,25 @@
    pub struct join;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::auth::register::join

    source · []
    pub struct join;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/routes/index.html b/mcaptcha/pages/auth/routes/index.html index 69088434..db9a0777 100644 --- a/mcaptcha/pages/auth/routes/index.html +++ b/mcaptcha/pages/auth/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/routes/struct.Auth.html b/mcaptcha/pages/auth/routes/struct.Auth.html index 135b0e7a..3b01b3fd 100644 --- a/mcaptcha/pages/auth/routes/struct.Auth.html +++ b/mcaptcha/pages/auth/routes/struct.Auth.html @@ -5,27 +5,27 @@
    pub struct Auth {
    -    pub login: &'static str,
    -    pub join: &'static str,
    -}

    Fields

    login: &'static strjoin: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub login: &'static str, + pub join: &'static str, +}

    Fields

    login: &'static strjoin: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/constant.PAGE.html b/mcaptcha/pages/auth/sudo/constant.PAGE.html index 6db9a0ad..c63c5466 100644 --- a/mcaptcha/pages/auth/sudo/constant.PAGE.html +++ b/mcaptcha/pages/auth/sudo/constant.PAGE.html @@ -4,5 +4,5 @@
    -

    Constant mcaptcha::pages::auth::sudo::PAGE

    source · []
    pub const PAGE: &str = "Confirm Access";
    +

    Constant mcaptcha::pages::auth::sudo::PAGE

    source · []
    pub const PAGE: &str = "Confirm Access";
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/index.html b/mcaptcha/pages/auth/sudo/index.html index 37ab9eb9..6db4cfbd 100644 --- a/mcaptcha/pages/auth/sudo/index.html +++ b/mcaptcha/pages/auth/sudo/index.html @@ -6,5 +6,5 @@

    Module sudo

    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/struct.SudoPage.html b/mcaptcha/pages/auth/sudo/struct.SudoPage.html index 64bc6e47..4ebb44e8 100644 --- a/mcaptcha/pages/auth/sudo/struct.SudoPage.html +++ b/mcaptcha/pages/auth/sudo/struct.SudoPage.html @@ -4,35 +4,35 @@
    pub struct SudoPage<'a, K, V> where
        K: Display + Render,
        V: Display + Render, 
    { - url: &'a str, - data: Option<Vec<(K, V)>>, -}

    Fields

    url: &'a strdata: Option<Vec<(K, V)>>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::auth::sudo::SudoPage

    source · []
    pub struct SudoPage<'a, K, V> where
        K: Display + Render,
        V: Display + Render, 
    { + url: &'a str, + data: Option<Vec<(K, V)>>, +}

    Fields

    url: &'a strdata: Option<Vec<(K, V)>>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Render the template and return the rendering result as RenderResult Read more

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/constant.NAME.html b/mcaptcha/pages/constant.NAME.html index c432f2bb..fba9b09e 100644 --- a/mcaptcha/pages/constant.NAME.html +++ b/mcaptcha/pages/constant.NAME.html @@ -4,5 +4,5 @@
    -

    Constant mcaptcha::pages::NAME

    source · []
    pub const NAME: &str = "mCaptcha";
    +

    Constant mcaptcha::pages::NAME

    source · []
    pub const NAME: &str = "mCaptcha";
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/constant.ERROR_ROUTE.html b/mcaptcha/pages/errors/constant.ERROR_ROUTE.html index 58e99e74..aede7602 100644 --- a/mcaptcha/pages/errors/constant.ERROR_ROUTE.html +++ b/mcaptcha/pages/errors/constant.ERROR_ROUTE.html @@ -4,5 +4,5 @@
    const ERROR_ROUTE: &str = "/error/{id}";
    +

    Constant mcaptcha::pages::errors::ERROR_ROUTE

    source · []
    const ERROR_ROUTE: &str = "/error/{id}";
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/constant.PAGE.html b/mcaptcha/pages/errors/constant.PAGE.html index 3eae7a14..a64f7860 100644 --- a/mcaptcha/pages/errors/constant.PAGE.html +++ b/mcaptcha/pages/errors/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "Error";
    +

    Constant mcaptcha::pages::errors::PAGE

    source · []
    const PAGE: &str = "Error";
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/fn.services.html b/mcaptcha/pages/errors/fn.services.html index 12bb3e83..25cfd6c3 100644 --- a/mcaptcha/pages/errors/fn.services.html +++ b/mcaptcha/pages/errors/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::pages::errors::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/index.html b/mcaptcha/pages/errors/index.html index 8cdb954e..1ec06bc8 100644 --- a/mcaptcha/pages/errors/index.html +++ b/mcaptcha/pages/errors/index.html @@ -8,5 +8,5 @@

    Structs

    Constants

    PAGE 🔒

    Functions

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/routes/index.html b/mcaptcha/pages/errors/routes/index.html index 372b6437..832ca551 100644 --- a/mcaptcha/pages/errors/routes/index.html +++ b/mcaptcha/pages/errors/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/routes/struct.Errors.html b/mcaptcha/pages/errors/routes/struct.Errors.html index 644445b7..282680c6 100644 --- a/mcaptcha/pages/errors/routes/struct.Errors.html +++ b/mcaptcha/pages/errors/routes/struct.Errors.html @@ -5,27 +5,27 @@
    pub struct Errors {
    -    pub internal_server_error: &'static str,
    -    pub unknown_error: &'static str,
    -}

    Fields

    internal_server_error: &'static strunknown_error: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub internal_server_error: &'static str, + pub unknown_error: &'static str, +}

    Fields

    internal_server_error: &'static strunknown_error: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.ErrorPage.html b/mcaptcha/pages/errors/struct.ErrorPage.html index f1578f4e..e7b84ca4 100644 --- a/mcaptcha/pages/errors/struct.ErrorPage.html +++ b/mcaptcha/pages/errors/struct.ErrorPage.html @@ -5,34 +5,34 @@
    struct ErrorPage<'a> {
    -    title: &'a str,
    -    message: &'a str,
    -}

    Fields

    title: &'a strmessage: &'a str

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + title: &'a str, + message: &'a str, +}

    Fields

    title: &'a strmessage: &'a str

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html b/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html index ff3f651e..cebb5e67 100644 --- a/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html +++ b/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html @@ -5,30 +5,30 @@
    struct INTERNAL_SERVER_ERROR_BODY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html b/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html index ad57e700..58d6b8b2 100644 --- a/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html +++ b/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html @@ -5,30 +5,30 @@
    struct UNKNOWN_ERROR_BODY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.error.html b/mcaptcha/pages/errors/struct.error.html index c0ad2f17..4efb9677 100644 --- a/mcaptcha/pages/errors/struct.error.html +++ b/mcaptcha/pages/errors/struct.error.html @@ -4,25 +4,25 @@
    pub struct error;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::errors::error

    source · []
    pub struct error;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/fn.get_middleware.html b/mcaptcha/pages/fn.get_middleware.html index 05c65588..89c09c28 100644 --- a/mcaptcha/pages/fn.get_middleware.html +++ b/mcaptcha/pages/fn.get_middleware.html @@ -4,5 +4,5 @@
    pub fn get_middleware() -> Authentication<Routes>
    +

    Function mcaptcha::pages::get_middleware

    source · []
    pub fn get_middleware() -> Authentication<Routes>
    \ No newline at end of file diff --git a/mcaptcha/pages/fn.services.html b/mcaptcha/pages/fn.services.html index e3fbf580..cdffc14d 100644 --- a/mcaptcha/pages/fn.services.html +++ b/mcaptcha/pages/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::pages::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/index.html b/mcaptcha/pages/index.html index b83794e1..f8961ba9 100644 --- a/mcaptcha/pages/index.html +++ b/mcaptcha/pages/index.html @@ -7,5 +7,5 @@

    Module mcaptcha::pages

    source · []

    Modules

    auth 🔒
    panel 🔒
    sitemap 🔒

    Constants

    Functions

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/constant.PAGE.html b/mcaptcha/pages/panel/constant.PAGE.html index 57cddb07..3ac3cb93 100644 --- a/mcaptcha/pages/panel/constant.PAGE.html +++ b/mcaptcha/pages/panel/constant.PAGE.html @@ -4,5 +4,5 @@
    -

    Constant mcaptcha::pages::panel::PAGE

    source · []
    const PAGE: &str = "Dashboard";
    +

    Constant mcaptcha::pages::panel::PAGE

    source · []
    const PAGE: &str = "Dashboard";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/fn.services.html b/mcaptcha/pages/panel/fn.services.html index 531a4ae8..41302bcc 100644 --- a/mcaptcha/pages/panel/fn.services.html +++ b/mcaptcha/pages/panel/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::pages::panel::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/index.html b/mcaptcha/pages/panel/index.html index 244287c1..a1118726 100644 --- a/mcaptcha/pages/panel/index.html +++ b/mcaptcha/pages/panel/index.html @@ -8,5 +8,5 @@

    Structs

    Constants

    PAGE 🔒

    Functions

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/constant.PAGE.html b/mcaptcha/pages/panel/notifications/constant.PAGE.html index c16e0e34..8a8c1299 100644 --- a/mcaptcha/pages/panel/notifications/constant.PAGE.html +++ b/mcaptcha/pages/panel/notifications/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "Notifications";
    +

    Constant mcaptcha::pages::panel::notifications::PAGE

    source · []
    const PAGE: &str = "Notifications";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/index.html b/mcaptcha/pages/panel/notifications/index.html index e70234b2..d90ab3b9 100644 --- a/mcaptcha/pages/panel/notifications/index.html +++ b/mcaptcha/pages/panel/notifications/index.html @@ -6,5 +6,5 @@

    Module notifications

    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/struct.IndexPage.html b/mcaptcha/pages/panel/notifications/struct.IndexPage.html index 2405e642..114c532f 100644 --- a/mcaptcha/pages/panel/notifications/struct.IndexPage.html +++ b/mcaptcha/pages/panel/notifications/struct.IndexPage.html @@ -5,29 +5,29 @@
    pub struct IndexPage {
    -    n: Vec<Notification>,
    -}

    Fields

    n: Vec<Notification>

    notifications

    -

    Implementations

    Trait Implementations

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + n: Vec<Notification>, +}

    Fields

    n: Vec<Notification>

    notifications

    +

    Implementations

    Trait Implementations

    Render the template and return the rendering result as RenderResult Read more

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/struct.Notification.html b/mcaptcha/pages/panel/notifications/struct.Notification.html index 614fdbba..5e375dcc 100644 --- a/mcaptcha/pages/panel/notifications/struct.Notification.html +++ b/mcaptcha/pages/panel/notifications/struct.Notification.html @@ -5,31 +5,31 @@
    pub struct Notification {
    -    pub name: String,
    -    pub heading: String,
    -    pub message: String,
    +    pub name: String,
    +    pub heading: String,
    +    pub message: String,
         pub received: OffsetDateTime,
    -    pub id: i32,
    -}

    Fields

    name: Stringheading: Stringmessage: Stringreceived: OffsetDateTimeid: i32

    Implementations

    Trait Implementations

    Converts to this type from the input type.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub id: i32, +}

    Fields

    name: Stringheading: Stringmessage: Stringreceived: OffsetDateTimeid: i32

    Implementations

    Trait Implementations

    Converts to this type from the input type.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/struct.notifications.html b/mcaptcha/pages/panel/notifications/struct.notifications.html index f5cf3956..a747c2f5 100644 --- a/mcaptcha/pages/panel/notifications/struct.notifications.html +++ b/mcaptcha/pages/panel/notifications/struct.notifications.html @@ -4,25 +4,25 @@
    pub struct notifications;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::notifications::notifications

    source · []
    pub struct notifications;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/routes/index.html b/mcaptcha/pages/panel/routes/index.html index 725ea510..93fff728 100644 --- a/mcaptcha/pages/panel/routes/index.html +++ b/mcaptcha/pages/panel/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/routes/struct.Panel.html b/mcaptcha/pages/panel/routes/struct.Panel.html index 2f06cd04..384a0154 100644 --- a/mcaptcha/pages/panel/routes/struct.Panel.html +++ b/mcaptcha/pages/panel/routes/struct.Panel.html @@ -5,29 +5,29 @@
    pub struct Panel {
    -    pub home: &'static str,
    +    pub home: &'static str,
         pub sitekey: Sitekey,
    -    pub notifications: &'static str,
    +    pub notifications: &'static str,
         pub settings: Settings,
    -}

    Fields

    home: &'static strsitekey: Sitekeynotifications: &'static strsettings: Settings

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    home: &'static strsitekey: Sitekeynotifications: &'static strsettings: Settings

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/constant.PAGE.html b/mcaptcha/pages/panel/settings/constant.PAGE.html index b4b6643c..38323a48 100644 --- a/mcaptcha/pages/panel/settings/constant.PAGE.html +++ b/mcaptcha/pages/panel/settings/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "Settings";
    +

    Constant mcaptcha::pages::panel::settings::PAGE

    source · []
    const PAGE: &str = "Settings";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/fn.services.html b/mcaptcha/pages/panel/settings/fn.services.html index 3cc9d353..b4708f79 100644 --- a/mcaptcha/pages/panel/settings/fn.services.html +++ b/mcaptcha/pages/panel/settings/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::pages::panel::settings::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/index.html b/mcaptcha/pages/panel/settings/index.html index 8c37e725..860d4186 100644 --- a/mcaptcha/pages/panel/settings/index.html +++ b/mcaptcha/pages/panel/settings/index.html @@ -8,5 +8,5 @@

    Structs

    Constants

    PAGE 🔒

    Functions

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/routes/index.html b/mcaptcha/pages/panel/settings/routes/index.html index 6897d932..35c7175f 100644 --- a/mcaptcha/pages/panel/settings/routes/index.html +++ b/mcaptcha/pages/panel/settings/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/routes/struct.Settings.html b/mcaptcha/pages/panel/settings/routes/struct.Settings.html index b9ea7d91..87018e6c 100644 --- a/mcaptcha/pages/panel/settings/routes/struct.Settings.html +++ b/mcaptcha/pages/panel/settings/routes/struct.Settings.html @@ -5,28 +5,28 @@
    pub struct Settings {
    -    pub home: &'static str,
    -    pub delete_account: &'static str,
    -    pub update_secret: &'static str,
    -}

    Fields

    home: &'static strdelete_account: &'static strupdate_secret: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub home: &'static str, + pub delete_account: &'static str, + pub update_secret: &'static str, +}

    Fields

    home: &'static strdelete_account: &'static strupdate_secret: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.IndexPage.html b/mcaptcha/pages/panel/settings/struct.IndexPage.html index 0b2e39b2..ba786108 100644 --- a/mcaptcha/pages/panel/settings/struct.IndexPage.html +++ b/mcaptcha/pages/panel/settings/struct.IndexPage.html @@ -5,35 +5,35 @@
    pub struct IndexPage<'a> {
    -    email: Option<String>,
    -    secret: String,
    -    username: &'a str,
    -}

    Fields

    email: Option<String>secret: Stringusername: &'a str

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + email: Option<String>, + secret: String, + username: &'a str, +}

    Fields

    email: Option<String>secret: Stringusername: &'a str

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.delete_account.html b/mcaptcha/pages/panel/settings/struct.delete_account.html index f94006b2..6469ff65 100644 --- a/mcaptcha/pages/panel/settings/struct.delete_account.html +++ b/mcaptcha/pages/panel/settings/struct.delete_account.html @@ -4,25 +4,25 @@
    pub struct delete_account;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::settings::delete_account

    source · []
    pub struct delete_account;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.settings.html b/mcaptcha/pages/panel/settings/struct.settings.html index c0d77c39..b9087238 100644 --- a/mcaptcha/pages/panel/settings/struct.settings.html +++ b/mcaptcha/pages/panel/settings/struct.settings.html @@ -4,25 +4,25 @@
    pub struct settings;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::settings::settings

    source · []
    pub struct settings;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.update_secret.html b/mcaptcha/pages/panel/settings/struct.update_secret.html index 6efa4312..999d28d7 100644 --- a/mcaptcha/pages/panel/settings/struct.update_secret.html +++ b/mcaptcha/pages/panel/settings/struct.update_secret.html @@ -4,25 +4,25 @@
    pub struct update_secret;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::settings::update_secret

    source · []
    pub struct update_secret;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html index 4f57d5e7..581ec619 100644 --- a/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "Add Sitekey";
    +

    Constant mcaptcha::pages::panel::sitekey::add::PAGE

    source · []
    const PAGE: &str = "Add Sitekey";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/index.html b/mcaptcha/pages/panel/sitekey/add/index.html index ffae3d0c..2e384020 100644 --- a/mcaptcha/pages/panel/sitekey/add/index.html +++ b/mcaptcha/pages/panel/sitekey/add/index.html @@ -6,5 +6,5 @@

    Module add

    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html b/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html index 77e2ee31..bc4405c8 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html @@ -5,30 +5,30 @@
    struct ADVANCE_INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html b/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html index 462a89a6..27e36084 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html @@ -5,37 +5,37 @@
    pub struct AdvanceIndexPage<'a> {
    -    pub levels: usize,
    -    pub form_title: &'a str,
    -    pub form_description: &'a str,
    -    pub form_duration: usize,
    -}

    Fields

    levels: usizeform_title: &'a strform_description: &'a strform_duration: usize

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    + pub levels: usize, + pub form_title: &'a str, + pub form_description: &'a str, + pub form_duration: usize, +}

    Fields

    levels: usizeform_title: &'a strform_description: &'a strform_duration: usize

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html b/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html index bf6ac04f..466b0138 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html @@ -5,30 +5,30 @@
    struct EASY_INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html b/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html index cc068903..02a446dc 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html @@ -5,38 +5,38 @@
    pub struct EasyIndexPage<'a> {
    -    pub form_description: &'a str,
    -    pub form_title: &'a str,
    -    pub peak_sustainable_traffic: Option<usize>,
    -    pub avg_traffic: Option<usize>,
    -    pub broke_my_site_traffic: Option<usize>,
    -}

    Fields

    form_description: &'a strform_title: &'a strpeak_sustainable_traffic: Option<usize>avg_traffic: Option<usize>broke_my_site_traffic: Option<usize>

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    + pub form_description: &'a str, + pub form_title: &'a str, + pub peak_sustainable_traffic: Option<usize>, + pub avg_traffic: Option<usize>, + pub broke_my_site_traffic: Option<usize>, +}

    Fields

    form_description: &'a strform_title: &'a strpeak_sustainable_traffic: Option<usize>avg_traffic: Option<usize>broke_my_site_traffic: Option<usize>

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.advance.html b/mcaptcha/pages/panel/sitekey/add/struct.advance.html index 208f5e40..3e945b49 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.advance.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.advance.html @@ -4,25 +4,25 @@
    pub struct advance;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::sitekey::add::advance

    source · []
    pub struct advance;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.easy.html b/mcaptcha/pages/panel/sitekey/add/struct.easy.html index 6f129d76..2589f871 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.easy.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.easy.html @@ -4,25 +4,25 @@
    pub struct easy;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::sitekey::add::easy

    source · []
    pub struct easy;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/delete/index.html b/mcaptcha/pages/panel/sitekey/delete/index.html index eb1dca9d..0afeeb33 100644 --- a/mcaptcha/pages/panel/sitekey/delete/index.html +++ b/mcaptcha/pages/panel/sitekey/delete/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html b/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html index 74201de7..6c177982 100644 --- a/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html +++ b/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html @@ -4,25 +4,25 @@
    pub struct delete_sitekey;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::sitekey::delete::delete_sitekey

    source · []
    pub struct delete_sitekey;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html index 0491c958..01af73fc 100644 --- a/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "Edit Sitekey";
    +

    Constant mcaptcha::pages::panel::sitekey::edit::PAGE

    source · []
    const PAGE: &str = "Edit Sitekey";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/index.html b/mcaptcha/pages/panel/sitekey/edit/index.html index b87eb420..eb10460c 100644 --- a/mcaptcha/pages/panel/sitekey/edit/index.html +++ b/mcaptcha/pages/panel/sitekey/edit/index.html @@ -8,5 +8,5 @@

    route handler that renders individual views for sitekeys

    route handler that renders individual views for sitekeys

    Constants

    -
    PAGE 🔒
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html b/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html index 57f81088..0ed54890 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html @@ -5,36 +5,36 @@
    struct AdvanceEditPage {
    -    duration: u32,
    -    name: String,
    -    key: String,
    -    levels: Vec<Level>,
    -}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + duration: u32, + name: String, + key: String, + levels: Vec<Level>, +}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html b/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html index c235539a..a1b04329 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html @@ -5,35 +5,35 @@
    pub struct EasyEditPage<'a> {
    -    pub form_title: &'a str,
    +    pub form_title: &'a str,
         pub pattern: TrafficPatternRequest,
    -    pub key: String,
    -}

    Fields

    form_title: &'a strpattern: TrafficPatternRequestkey: String

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + pub key: String, +}

    Fields

    form_title: &'a strpattern: TrafficPatternRequestkey: String

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.advance.html b/mcaptcha/pages/panel/sitekey/edit/struct.advance.html index 27858338..53bf362e 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.advance.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.advance.html @@ -5,25 +5,25 @@
    pub struct advance;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.easy.html b/mcaptcha/pages/panel/sitekey/edit/struct.easy.html index 1747f600..9d956130 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.easy.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.easy.html @@ -5,25 +5,25 @@
    pub struct easy;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/fn.services.html b/mcaptcha/pages/panel/sitekey/fn.services.html index ab29c3ce..27cb0308 100644 --- a/mcaptcha/pages/panel/sitekey/fn.services.html +++ b/mcaptcha/pages/panel/sitekey/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::pages::panel::sitekey::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/index.html b/mcaptcha/pages/panel/sitekey/index.html index de660545..8e18decc 100644 --- a/mcaptcha/pages/panel/sitekey/index.html +++ b/mcaptcha/pages/panel/sitekey/index.html @@ -6,5 +6,5 @@

    Module sitekey

    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html index c42d1b44..5b554f55 100644 --- a/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "SiteKeys";
    +

    Constant mcaptcha::pages::panel::sitekey::list::PAGE

    source · []
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/index.html b/mcaptcha/pages/panel/sitekey/list/index.html index e9fbac71..c8220dba 100644 --- a/mcaptcha/pages/panel/sitekey/list/index.html +++ b/mcaptcha/pages/panel/sitekey/list/index.html @@ -7,5 +7,5 @@

    Module mcaptcha::pages::panel::sitekey::list

    source · []

    Structs

    render a list of all sitekeys that a user has

    Constants

    -
    PAGE 🔒
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html b/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html index 18033b57..5a9698f1 100644 --- a/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html +++ b/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html @@ -5,33 +5,33 @@
    pub struct IndexPage {
    -    sitekeys: Vec<Captcha>,
    -}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + sitekeys: Vec<Captcha>, +}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html b/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html index 16f7a999..b4720ba8 100644 --- a/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html +++ b/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html @@ -5,25 +5,25 @@
    pub struct list_sitekeys;
    Expand description

    render a list of all sitekeys that a user has

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/routes/index.html b/mcaptcha/pages/panel/sitekey/routes/index.html index e5af0eab..8184e176 100644 --- a/mcaptcha/pages/panel/sitekey/routes/index.html +++ b/mcaptcha/pages/panel/sitekey/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html b/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html index 1573b7af..91c7b624 100644 --- a/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html +++ b/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html @@ -5,32 +5,32 @@
    pub struct Sitekey {
    -    pub list: &'static str,
    -    pub add_easy: &'static str,
    -    pub add_advance: &'static str,
    -    pub view: &'static str,
    -    pub edit_easy: &'static str,
    -    pub edit_advance: &'static str,
    -    pub delete: &'static str,
    -}

    Fields

    list: &'static stradd_easy: &'static stradd_advance: &'static strview: &'static stredit_easy: &'static stredit_advance: &'static strdelete: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub list: &'static str, + pub add_easy: &'static str, + pub add_advance: &'static str, + pub view: &'static str, + pub edit_easy: &'static str, + pub edit_advance: &'static str, + pub delete: &'static str, +}

    Fields

    list: &'static stradd_easy: &'static stradd_advance: &'static strview: &'static stredit_easy: &'static stredit_advance: &'static strdelete: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html index 87f4e527..1373f39f 100644 --- a/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html @@ -4,5 +4,5 @@
    const PAGE: &str = "SiteKeys";
    +

    Constant mcaptcha::pages::panel::sitekey::view::PAGE

    source · []
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/index.html b/mcaptcha/pages/panel/sitekey/view/index.html index bc7fe6ab..2940ead9 100644 --- a/mcaptcha/pages/panel/sitekey/view/index.html +++ b/mcaptcha/pages/panel/sitekey/view/index.html @@ -7,5 +7,5 @@

    Module mcaptcha::pages::panel::sitekey::view

    source · []

    Structs

    IndexPage 🔒

    route handler that renders individual views for sitekeys

    Constants

    -
    PAGE 🔒
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html b/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html index 873b6ce1..8c3d3210 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html @@ -5,37 +5,37 @@
    struct IndexPage {
    -    duration: u32,
    -    name: String,
    -    key: String,
    -    levels: Vec<Level>,
    +    duration: u32,
    +    name: String,
    +    key: String,
    +    levels: Vec<Level>,
         stats: CaptchaStats,
    -}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>stats: CaptchaStats

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    +}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>stats: CaptchaStats

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html b/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html index 8676ce13..d4ca59e6 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html @@ -5,25 +5,25 @@
    pub struct view_sitekey;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/struct.IndexPage.html b/mcaptcha/pages/panel/struct.IndexPage.html index d8d80150..41263465 100644 --- a/mcaptcha/pages/panel/struct.IndexPage.html +++ b/mcaptcha/pages/panel/struct.IndexPage.html @@ -5,33 +5,33 @@
    pub struct IndexPage {
    -    sitekeys: Vec<Captcha>,
    -}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + sitekeys: Vec<Captcha>, +}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/struct.panel.html b/mcaptcha/pages/panel/struct.panel.html index 406b08f2..7fd35dd6 100644 --- a/mcaptcha/pages/panel/struct.panel.html +++ b/mcaptcha/pages/panel/struct.panel.html @@ -4,25 +4,25 @@
    pub struct panel;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::panel::panel

    source · []
    pub struct panel;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/constant.ROUTES.html b/mcaptcha/pages/routes/constant.ROUTES.html index 3e4ddad5..5a37826c 100644 --- a/mcaptcha/pages/routes/constant.ROUTES.html +++ b/mcaptcha/pages/routes/constant.ROUTES.html @@ -4,5 +4,5 @@
    pub const ROUTES: Routes;
    +

    Constant mcaptcha::pages::routes::ROUTES

    source · []
    pub const ROUTES: Routes;
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/index.html b/mcaptcha/pages/routes/index.html index f9f4912c..445058cd 100644 --- a/mcaptcha/pages/routes/index.html +++ b/mcaptcha/pages/routes/index.html @@ -6,5 +6,5 @@

    Module routes

    +
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/struct.Routes.html b/mcaptcha/pages/routes/struct.Routes.html index 3670c48b..455402a6 100644 --- a/mcaptcha/pages/routes/struct.Routes.html +++ b/mcaptcha/pages/routes/struct.Routes.html @@ -5,35 +5,35 @@
    pub struct Routes {
    -    pub home: &'static str,
    +    pub home: &'static str,
         pub auth: Auth,
         pub panel: Panel,
         pub errors: Errors,
    -    pub about: &'static str,
    -    pub sitemap: &'static str,
    -    pub thanks: &'static str,
    -    pub donate: &'static str,
    -    pub security: &'static str,
    -    pub privacy: &'static str,
    -}

    Fields

    home: &'static strauth: Authpanel: Panelerrors: Errorsabout: &'static strsitemap: &'static strthanks: &'static strdonate: &'static strsecurity: &'static strprivacy: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub about: &'static str, + pub sitemap: &'static str, + pub thanks: &'static str, + pub donate: &'static str, + pub security: &'static str, + pub privacy: &'static str, +}

    Fields

    home: &'static strauth: Authpanel: Panelerrors: Errorsabout: &'static strsitemap: &'static strthanks: &'static strdonate: &'static strsecurity: &'static strprivacy: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/index.html b/mcaptcha/pages/sitemap/index.html index 7364f261..df049423 100644 --- a/mcaptcha/pages/sitemap/index.html +++ b/mcaptcha/pages/sitemap/index.html @@ -5,5 +5,5 @@
    +
    INDEX 🔒
    IndexPage 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.INDEX.html b/mcaptcha/pages/sitemap/struct.INDEX.html index 88acdadc..ca91975d 100644 --- a/mcaptcha/pages/sitemap/struct.INDEX.html +++ b/mcaptcha/pages/sitemap/struct.INDEX.html @@ -5,30 +5,30 @@
    struct INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.IndexPage.html b/mcaptcha/pages/sitemap/struct.IndexPage.html index 37a73887..087900cd 100644 --- a/mcaptcha/pages/sitemap/struct.IndexPage.html +++ b/mcaptcha/pages/sitemap/struct.IndexPage.html @@ -5,35 +5,35 @@
    struct IndexPage {
    -    urls: [&'static str; 7],
    -    domain: &'static str,
    -}

    Fields

    urls: [&'static str; 7]domain: &'static str

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    + urls: [&'static str; 7], + domain: &'static str, +}

    Fields

    urls: [&'static str; 7]domain: &'static str

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.sitemap.html b/mcaptcha/pages/sitemap/struct.sitemap.html index ecb3a860..0d27446c 100644 --- a/mcaptcha/pages/sitemap/struct.sitemap.html +++ b/mcaptcha/pages/sitemap/struct.sitemap.html @@ -4,25 +4,25 @@
    pub struct sitemap;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::pages::sitemap::sitemap

    source · []
    pub struct sitemap;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/routes/fn.services.html b/mcaptcha/routes/fn.services.html index b4811cf3..71f08ec8 100644 --- a/mcaptcha/routes/fn.services.html +++ b/mcaptcha/routes/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::routes::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/routes/index.html b/mcaptcha/routes/index.html index ae7d21a9..667487ec 100644 --- a/mcaptcha/routes/index.html +++ b/mcaptcha/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/fn.check_url.html b/mcaptcha/settings/fn.check_url.html index ed7b1835..8c7496f8 100644 --- a/mcaptcha/settings/fn.check_url.html +++ b/mcaptcha/settings/fn.check_url.html @@ -4,5 +4,5 @@
    fn check_url(s: &Config)
    +

    Function mcaptcha::settings::check_url

    source · []
    fn check_url(s: &Config)
    \ No newline at end of file diff --git a/mcaptcha/settings/fn.set_database_url.html b/mcaptcha/settings/fn.set_database_url.html index f796596e..7ce84b6d 100644 --- a/mcaptcha/settings/fn.set_database_url.html +++ b/mcaptcha/settings/fn.set_database_url.html @@ -4,5 +4,5 @@
    fn set_database_url(s: &mut Config)
    +

    Function mcaptcha::settings::set_database_url

    source · []
    fn set_database_url(s: &mut Config)
    \ No newline at end of file diff --git a/mcaptcha/settings/fn.set_from_database_url.html b/mcaptcha/settings/fn.set_from_database_url.html index e35cac73..a4d9fa9d 100644 --- a/mcaptcha/settings/fn.set_from_database_url.html +++ b/mcaptcha/settings/fn.set_from_database_url.html @@ -4,5 +4,5 @@
    fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
    +

    Function mcaptcha::settings::set_from_database_url

    source · []
    fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
    \ No newline at end of file diff --git a/mcaptcha/settings/index.html b/mcaptcha/settings/index.html index ba65f4c7..647e1cd9 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -6,5 +6,5 @@

    Module settings

    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Captcha.html b/mcaptcha/settings/struct.Captcha.html index a993e82d..6f6e5e14 100644 --- a/mcaptcha/settings/struct.Captcha.html +++ b/mcaptcha/settings/struct.Captcha.html @@ -5,36 +5,36 @@
    pub struct Captcha {
    -    pub salt: String,
    -    pub gc: u64,
    -    pub enable_stats: bool,
    +    pub salt: String,
    +    pub gc: u64,
    +    pub enable_stats: bool,
         pub default_difficulty_strategy: DefaultDifficultyStrategy,
    -}

    Fields

    salt: Stringgc: u64enable_stats: booldefault_difficulty_strategy: DefaultDifficultyStrategy

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    salt: Stringgc: u64enable_stats: booldefault_difficulty_strategy: DefaultDifficultyStrategy

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Database.html b/mcaptcha/settings/struct.Database.html index 61f28657..7ed2a577 100644 --- a/mcaptcha/settings/struct.Database.html +++ b/mcaptcha/settings/struct.Database.html @@ -5,34 +5,34 @@
    pub struct Database {
    -    pub url: String,
    -    pub pool: u32,
    -}

    Fields

    url: Stringpool: u32

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub url: String, + pub pool: u32, +}

    Fields

    url: Stringpool: u32

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.DatabaseBuilder.html b/mcaptcha/settings/struct.DatabaseBuilder.html index 56ccf39d..d9c3bfba 100644 --- a/mcaptcha/settings/struct.DatabaseBuilder.html +++ b/mcaptcha/settings/struct.DatabaseBuilder.html @@ -5,37 +5,37 @@
    struct DatabaseBuilder {
    -    pub port: u32,
    -    pub hostname: String,
    -    pub username: String,
    -    pub password: String,
    -    pub name: String,
    -}

    Fields

    port: u32hostname: Stringusername: Stringpassword: Stringname: String

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub port: u32, + pub hostname: String, + pub username: String, + pub password: String, + pub name: String, +}

    Fields

    port: u32hostname: Stringusername: Stringpassword: Stringname: String

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html index e5e7c43e..8c214680 100644 --- a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html +++ b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html @@ -5,36 +5,36 @@
    pub struct DefaultDifficultyStrategy {
    -    pub avg_traffic_difficulty: u32,
    -    pub broke_my_site_traffic_difficulty: u32,
    -    pub peak_sustainable_traffic_difficulty: u32,
    -    pub duration: u32,
    -}

    Fields

    avg_traffic_difficulty: u32broke_my_site_traffic_difficulty: u32peak_sustainable_traffic_difficulty: u32duration: u32

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub avg_traffic_difficulty: u32, + pub broke_my_site_traffic_difficulty: u32, + pub peak_sustainable_traffic_difficulty: u32, + pub duration: u32, +}

    Fields

    avg_traffic_difficulty: u32broke_my_site_traffic_difficulty: u32peak_sustainable_traffic_difficulty: u32duration: u32

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Redis.html b/mcaptcha/settings/struct.Redis.html index a754b790..ceb7342c 100644 --- a/mcaptcha/settings/struct.Redis.html +++ b/mcaptcha/settings/struct.Redis.html @@ -5,34 +5,34 @@
    pub struct Redis {
    -    pub url: String,
    -    pub pool: u32,
    -}

    Fields

    url: Stringpool: u32

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub url: String, + pub pool: u32, +}

    Fields

    url: Stringpool: u32

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Server.html b/mcaptcha/settings/struct.Server.html index 4187fc39..be354c40 100644 --- a/mcaptcha/settings/struct.Server.html +++ b/mcaptcha/settings/struct.Server.html @@ -5,38 +5,38 @@
    pub struct Server {
    -    pub port: u32,
    -    pub domain: String,
    -    pub cookie_secret: String,
    -    pub ip: String,
    -    pub url_prefix: Option<String>,
    -    pub proxy_has_tls: bool,
    -}

    Fields

    port: u32domain: Stringcookie_secret: Stringip: Stringurl_prefix: Option<String>proxy_has_tls: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub port: u32, + pub domain: String, + pub cookie_secret: String, + pub ip: String, + pub url_prefix: Option<String>, + pub proxy_has_tls: bool, +}

    Fields

    port: u32domain: Stringcookie_secret: Stringip: Stringurl_prefix: Option<String>proxy_has_tls: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Settings.html b/mcaptcha/settings/struct.Settings.html index 9aa99f2e..e53c8dd1 100644 --- a/mcaptcha/settings/struct.Settings.html +++ b/mcaptcha/settings/struct.Settings.html @@ -5,42 +5,42 @@
    pub struct Settings {
    -    pub debug: bool,
    -    pub commercial: bool,
    +    pub debug: bool,
    +    pub commercial: bool,
         pub database: Database,
    -    pub redis: Option<Redis>,
    +    pub redis: Option<Redis>,
         pub server: Server,
         pub captcha: Captcha,
    -    pub source_code: String,
    -    pub smtp: Option<Smtp>,
    -    pub allow_registration: bool,
    -    pub allow_demo: bool,
    -}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub source_code: String, + pub smtp: Option<Smtp>, + pub allow_registration: bool, + pub allow_demo: bool, +}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Smtp.html b/mcaptcha/settings/struct.Smtp.html index b61ce23c..4435ed30 100644 --- a/mcaptcha/settings/struct.Smtp.html +++ b/mcaptcha/settings/struct.Smtp.html @@ -5,38 +5,38 @@
    pub struct Smtp {
    -    pub from: String,
    -    pub reply: String,
    -    pub url: String,
    -    pub username: String,
    -    pub password: String,
    -    pub port: u16,
    -}

    Fields

    from: Stringreply: Stringurl: Stringusername: Stringpassword: Stringport: u16

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub from: String, + pub reply: String, + pub url: String, + pub username: String, + pub password: String, + pub port: u16, +}

    Fields

    from: Stringreply: Stringurl: Stringusername: Stringpassword: Stringport: u16

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/filemap/index.html b/mcaptcha/static_assets/filemap/index.html index c6f8ff6d..d9326e6e 100644 --- a/mcaptcha/static_assets/filemap/index.html +++ b/mcaptcha/static_assets/filemap/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/filemap/struct.FileMap.html b/mcaptcha/static_assets/filemap/struct.FileMap.html index ac90a880..faa4ebba 100644 --- a/mcaptcha/static_assets/filemap/struct.FileMap.html +++ b/mcaptcha/static_assets/filemap/struct.FileMap.html @@ -6,25 +6,25 @@

    FileMap

    pub struct FileMap {
         pub files: Files,
    -}

    Fields

    files: Files

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    files: Files

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/fn.services.html b/mcaptcha/static_assets/fn.services.html index 47c4893a..446de59f 100644 --- a/mcaptcha/static_assets/fn.services.html +++ b/mcaptcha/static_assets/fn.services.html @@ -4,5 +4,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    +

    Function mcaptcha::static_assets::services

    source · []
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/static_assets/index.html b/mcaptcha/static_assets/index.html index 8944328a..4dea04f2 100644 --- a/mcaptcha/static_assets/index.html +++ b/mcaptcha/static_assets/index.html @@ -7,5 +7,5 @@

    Module mcaptcha::static_assets

    source · []

    Re-exports

    pub use filemap::FileMap;

    Modules

    Functions

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/index.html b/mcaptcha/static_assets/static_files/assets/index.html index 99a0b471..4b0eab43 100644 --- a/mcaptcha/static_assets/static_files/assets/index.html +++ b/mcaptcha/static_assets/static_files/assets/index.html @@ -6,5 +6,5 @@

    Module assets

    +
    Img 🔒
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html b/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html index a33286d3..240e6248 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html +++ b/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html @@ -5,28 +5,28 @@
    pub struct BAR_CHART {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html b/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html index 9c9421a0..836d390a 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html +++ b/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html @@ -5,28 +5,28 @@
    pub struct CREDIT_CARD {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html b/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html index 23ff2679..02e66104 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html @@ -5,28 +5,28 @@
    pub struct DOCS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html b/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html index 37a2942e..e6ab0712 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html +++ b/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html @@ -5,28 +5,28 @@
    pub struct GITHUB {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html b/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html index 05577621..d1a99fab 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html +++ b/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html @@ -5,28 +5,28 @@
    pub struct HELP_CIRCLE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.HOME.html b/mcaptcha/static_assets/static_files/assets/struct.HOME.html index 6aef9e3f..ea062880 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.HOME.html +++ b/mcaptcha/static_assets/static_files/assets/struct.HOME.html @@ -5,28 +5,28 @@
    pub struct HOME {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.KEY.html b/mcaptcha/static_assets/static_files/assets/struct.KEY.html index 19d03c4c..59767044 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.KEY.html +++ b/mcaptcha/static_assets/static_files/assets/struct.KEY.html @@ -5,28 +5,28 @@
    pub struct KEY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html b/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html index 3d46731f..f7ce1f98 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html @@ -5,28 +5,28 @@
    pub struct MCAPTCHA_TRANS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html b/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html index 8aea8561..dc76abc7 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html +++ b/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html @@ -5,28 +5,28 @@
    pub struct MESSAGE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html b/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html index 2e7d8c73..6671005b 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html @@ -5,28 +5,28 @@
    pub struct SETTINGS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/type.Img.html b/mcaptcha/static_assets/static_files/assets/type.Img.html index 810f75a8..af7e6002 100644 --- a/mcaptcha/static_assets/static_files/assets/type.Img.html +++ b/mcaptcha/static_assets/static_files/assets/type.Img.html @@ -4,5 +4,5 @@
    type Img = (&'static str, &'static str);
    +

    Type Definition mcaptcha::static_assets::static_files::assets::Img

    source · []
    type Img = (&'static str, &'static str);
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/fn.handle_assets.html b/mcaptcha/static_assets/static_files/fn.handle_assets.html index adb31106..f71ce4d0 100644 --- a/mcaptcha/static_assets/static_files/fn.handle_assets.html +++ b/mcaptcha/static_assets/static_files/fn.handle_assets.html @@ -4,5 +4,5 @@
    fn handle_assets(path: &str) -> HttpResponse
    +

    Function mcaptcha::static_assets::static_files::handle_assets

    source · []
    fn handle_assets(path: &str) -> HttpResponse
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/fn.handle_favicons.html b/mcaptcha/static_assets/static_files/fn.handle_favicons.html index 79960ac7..6e72a0b6 100644 --- a/mcaptcha/static_assets/static_files/fn.handle_favicons.html +++ b/mcaptcha/static_assets/static_files/fn.handle_favicons.html @@ -4,5 +4,5 @@
    fn handle_favicons(path: &str) -> HttpResponse
    +

    Function mcaptcha::static_assets::static_files::handle_favicons

    source · []
    fn handle_favicons(path: &str) -> HttpResponse
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/index.html b/mcaptcha/static_assets/static_files/index.html index 190aa794..0b5a4eba 100644 --- a/mcaptcha/static_assets/static_files/index.html +++ b/mcaptcha/static_assets/static_files/index.html @@ -7,5 +7,5 @@

    Module mcaptcha::static_assets::static_files

    source · []

    Modules

    Structs

    Functions

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.Asset.html b/mcaptcha/static_assets/static_files/struct.Asset.html index b5a53a0d..42a1684d 100644 --- a/mcaptcha/static_assets/static_files/struct.Asset.html +++ b/mcaptcha/static_assets/static_files/struct.Asset.html @@ -4,29 +4,29 @@
    struct Asset;

    Implementations

    Get an embedded file and its metadata.

    -

    Iterates over the file paths in the folder.

    -

    Trait Implementations

    Get an embedded file and its metadata. Read more

    +

    Struct mcaptcha::static_assets::static_files::Asset

    source · []
    struct Asset;

    Implementations

    Get an embedded file and its metadata.

    +

    Iterates over the file paths in the folder.

    +

    Trait Implementations

    Get an embedded file and its metadata. Read more

    Iterates over the file paths in the folder. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.Favicons.html b/mcaptcha/static_assets/static_files/struct.Favicons.html index 20b19437..65deed03 100644 --- a/mcaptcha/static_assets/static_files/struct.Favicons.html +++ b/mcaptcha/static_assets/static_files/struct.Favicons.html @@ -4,29 +4,29 @@
    struct Favicons;

    Implementations

    Get an embedded file and its metadata.

    -

    Iterates over the file paths in the folder.

    -

    Trait Implementations

    Get an embedded file and its metadata. Read more

    +

    Struct mcaptcha::static_assets::static_files::Favicons

    source · []
    struct Favicons;

    Implementations

    Get an embedded file and its metadata.

    +

    Iterates over the file paths in the folder.

    +

    Trait Implementations

    Get an embedded file and its metadata. Read more

    Iterates over the file paths in the folder. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.favicons.html b/mcaptcha/static_assets/static_files/struct.favicons.html index b22ea689..b4744169 100644 --- a/mcaptcha/static_assets/static_files/struct.favicons.html +++ b/mcaptcha/static_assets/static_files/struct.favicons.html @@ -4,25 +4,25 @@
    pub struct favicons;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::static_assets::static_files::favicons

    source · []
    pub struct favicons;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.static_files.html b/mcaptcha/static_assets/static_files/struct.static_files.html index 4c1c9860..6a616870 100644 --- a/mcaptcha/static_assets/static_files/struct.static_files.html +++ b/mcaptcha/static_assets/static_files/struct.static_files.html @@ -4,25 +4,25 @@
    pub struct static_files;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::static_assets::static_files::static_files

    source · []
    pub struct static_files;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/index.html b/mcaptcha/stats/index.html index e949e7ff..ca0fc1e5 100644 --- a/mcaptcha/stats/index.html +++ b/mcaptcha/stats/index.html @@ -7,5 +7,5 @@

    Module mcaptcha::stats

    source · []

    Structs

    Traits

    Trait to clone MCDatabase

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.CaptchaStats.html b/mcaptcha/stats/struct.CaptchaStats.html index d710d014..c38a3ade 100644 --- a/mcaptcha/stats/struct.CaptchaStats.html +++ b/mcaptcha/stats/struct.CaptchaStats.html @@ -5,40 +5,40 @@
    pub struct CaptchaStats {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    -}

    Fields

    config_fetches: Vec<i64>solves: Vec<i64>confirms: Vec<i64>

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Returns the “default value” for a type. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    This method tests for self and other values to be equal, and is used -by ==. Read more

    -

    This method tests for !=.

    -

    Serialize this value into the given Serde serializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub config_fetches: Vec<i64>, + pub solves: Vec<i64>, + pub confirms: Vec<i64>, +}

    Fields

    config_fetches: Vec<i64>solves: Vec<i64>confirms: Vec<i64>

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Returns the “default value” for a type. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    Serialize this value into the given Serde serializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.Dummy.html b/mcaptcha/stats/struct.Dummy.html index 47eeb67b..ba52bf3c 100644 --- a/mcaptcha/stats/struct.Dummy.html +++ b/mcaptcha/stats/struct.Dummy.html @@ -4,39 +4,39 @@
    pub struct Dummy;

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Returns the “default value” for a type. Read more

    -

    This method tests for self and other values to be equal, and is used -by ==. Read more

    -

    This method tests for !=.

    -

    record PoWConfig fetches

    -

    record PoWConfig solves

    -

    record PoWConfig confirms

    -

    fetch stats

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::stats::Dummy

    source · []
    pub struct Dummy;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Returns the “default value” for a type. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    record PoWConfig fetches

    +

    record PoWConfig solves

    +

    record PoWConfig confirms

    +

    fetch stats

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.Real.html b/mcaptcha/stats/struct.Real.html index fb948a3f..9beb9b07 100644 --- a/mcaptcha/stats/struct.Real.html +++ b/mcaptcha/stats/struct.Real.html @@ -4,39 +4,39 @@
    pub struct Real;

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Returns the “default value” for a type. Read more

    -

    This method tests for self and other values to be equal, and is used -by ==. Read more

    -

    This method tests for !=.

    -

    record PoWConfig fetches

    -

    record PoWConfig solves

    -

    record PoWConfig confirms

    -

    fetch stats

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Struct mcaptcha::stats::Real

    source · []
    pub struct Real;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Returns the “default value” for a type. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    record PoWConfig fetches

    +

    record PoWConfig solves

    +

    record PoWConfig confirms

    +

    fetch stats

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/trait.CloneStats.html b/mcaptcha/stats/trait.CloneStats.html index eb31164d..0324da99 100644 --- a/mcaptcha/stats/trait.CloneStats.html +++ b/mcaptcha/stats/trait.CloneStats.html @@ -5,8 +5,8 @@
    pub trait CloneStats {
    -    fn clone_stats(&self) -> Box<dyn Stats>;
    +    fn clone_stats(&self) -> Box<dyn Stats>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods

    clone DB

    -

    Implementors

    +

    Required Methods

    clone DB

    +

    Implementors

    \ No newline at end of file diff --git a/mcaptcha/stats/trait.Stats.html b/mcaptcha/stats/trait.Stats.html index 47167e39..6525b894 100644 --- a/mcaptcha/stats/trait.Stats.html +++ b/mcaptcha/stats/trait.Stats.html @@ -4,14 +4,14 @@
    pub trait Stats: Send + Sync + CloneStats {
    -    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; - fn record_solve<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; - fn record_confirm<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; - fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            user: &'life2 str,
            key: &'life3 str
        ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            'life3: 'async_trait,
            Self: 'async_trait
    ; -}

    Required Methods

    record PoWConfig fetches

    -

    record PoWConfig solves

    -

    record PoWConfig confirms

    -

    fetch stats

    -

    Implementors

    +

    Trait mcaptcha::stats::Stats

    source · []
    pub trait Stats: Send + Sync + CloneStats {
    +    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn record_solve<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn record_confirm<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            user: &'life2 str,
            key: &'life3 str
        ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            'life3: 'async_trait,
            Self: 'async_trait
    ; +}

    Required Methods

    record PoWConfig fetches

    +

    record PoWConfig solves

    +

    record PoWConfig confirms

    +

    fetch stats

    +

    Implementors

    \ No newline at end of file diff --git a/mcaptcha/struct.BAR_CHART.html b/mcaptcha/struct.BAR_CHART.html index 4f89b167..8bf22c3b 100644 --- a/mcaptcha/struct.BAR_CHART.html +++ b/mcaptcha/struct.BAR_CHART.html @@ -5,28 +5,28 @@
    pub struct BAR_CHART {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.CREDIT_CARD.html b/mcaptcha/struct.CREDIT_CARD.html index b95df1cb..04c009bf 100644 --- a/mcaptcha/struct.CREDIT_CARD.html +++ b/mcaptcha/struct.CREDIT_CARD.html @@ -5,28 +5,28 @@
    pub struct CREDIT_CARD {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.CSS.html b/mcaptcha/struct.CSS.html index 162bec03..a73f8246 100644 --- a/mcaptcha/struct.CSS.html +++ b/mcaptcha/struct.CSS.html @@ -5,9 +5,9 @@
    pub struct CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +17,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +26,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +43,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +58,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +72,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +104,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +123,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +154,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +173,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +199,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +209,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +235,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +249,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +263,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +289,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +313,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +342,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +354,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +366,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +378,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +390,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +417,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +442,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +514,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +532,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +559,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +584,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +596,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +607,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +636,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +662,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +692,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +709,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +732,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +754,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +763,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +783,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +803,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +825,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +847,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +862,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +879,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +919,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +937,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +958,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +984,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1017,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1034,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1051,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1065,8 +1065,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1080,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1107,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1129,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1140,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.DOCS_ICON.html b/mcaptcha/struct.DOCS_ICON.html index 6e43a809..8981903a 100644 --- a/mcaptcha/struct.DOCS_ICON.html +++ b/mcaptcha/struct.DOCS_ICON.html @@ -5,28 +5,28 @@
    pub struct DOCS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.Data.html b/mcaptcha/struct.Data.html index 996e8ab9..7302ea47 100644 --- a/mcaptcha/struct.Data.html +++ b/mcaptcha/struct.Data.html @@ -5,39 +5,39 @@
    pub struct Data {
    -    pub db: Box<dyn MCDatabase>,
    +    pub db: Box<dyn MCDatabase>,
         pub creds: Config,
         pub captcha: SystemGroup,
    -    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
    +    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
         pub settings: Settings,
    -    pub stats: Box<dyn Stats>,
    +    pub stats: Box<dyn Stats>,
     }
    Expand description

    App data

    -

    Fields

    db: Box<dyn MCDatabase>

    database ops defined by db crates

    +

    Fields

    db: Box<dyn MCDatabase>

    database ops defined by db crates

    creds: Config

    credential management configuration

    captcha: SystemGroup

    mCaptcha system: Redis cache, etc.

    -
    mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    +
    mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    settings: Settings

    app settings

    -
    stats: Box<dyn Stats>

    stats recorder

    -

    Implementations

    create new instance of app data

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +
    stats: Box<dyn Stats>

    stats recorder

    +

    Implementations

    create new instance of app data

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.FILES.html b/mcaptcha/struct.FILES.html index 0bb1f96c..0dcb4ec8 100644 --- a/mcaptcha/struct.FILES.html +++ b/mcaptcha/struct.FILES.html @@ -5,28 +5,28 @@
    pub struct FILES {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = FileMap>

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = FileMap>

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.GITHUB.html b/mcaptcha/struct.GITHUB.html index 3fcd6a64..cf66914d 100644 --- a/mcaptcha/struct.GITHUB.html +++ b/mcaptcha/struct.GITHUB.html @@ -5,28 +5,28 @@
    pub struct GITHUB {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.HELP_CIRCLE.html b/mcaptcha/struct.HELP_CIRCLE.html index 7bc660c7..66c07334 100644 --- a/mcaptcha/struct.HELP_CIRCLE.html +++ b/mcaptcha/struct.HELP_CIRCLE.html @@ -5,28 +5,28 @@
    pub struct HELP_CIRCLE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.HOME.html b/mcaptcha/struct.HOME.html index f2a0aaea..5274bb05 100644 --- a/mcaptcha/struct.HOME.html +++ b/mcaptcha/struct.HOME.html @@ -5,28 +5,28 @@
    pub struct HOME {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.JS.html b/mcaptcha/struct.JS.html index 1025ef87..80fd79e0 100644 --- a/mcaptcha/struct.JS.html +++ b/mcaptcha/struct.JS.html @@ -5,9 +5,9 @@

    Struct mcaptcha::JS

    source · []
    pub struct JS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +17,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +26,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +43,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +58,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +72,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +104,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +123,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +154,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +173,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +199,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +209,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +235,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +249,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +263,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +289,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +313,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +342,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +354,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +366,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +378,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +390,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +417,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +442,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +514,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +532,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +559,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +584,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +596,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +607,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +636,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +662,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +692,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +709,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +732,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +754,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +763,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +783,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +803,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +825,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +847,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +862,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +879,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +919,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +937,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +958,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +984,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1017,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1034,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1051,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1065,8 +1065,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1080,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1107,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1129,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1140,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.KEY.html b/mcaptcha/struct.KEY.html index 702653a5..3d2e3346 100644 --- a/mcaptcha/struct.KEY.html +++ b/mcaptcha/struct.KEY.html @@ -5,28 +5,28 @@
    pub struct KEY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html b/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html index 087d0eec..c9fd6d2d 100644 --- a/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html +++ b/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html @@ -5,28 +5,28 @@
    pub struct MCAPTCHA_TRANS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.MESSAGE.html b/mcaptcha/struct.MESSAGE.html index 9f676063..acaba78b 100644 --- a/mcaptcha/struct.MESSAGE.html +++ b/mcaptcha/struct.MESSAGE.html @@ -5,28 +5,28 @@
    pub struct MESSAGE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.MOBILE_CSS.html b/mcaptcha/struct.MOBILE_CSS.html index 45b6e045..b45e41a6 100644 --- a/mcaptcha/struct.MOBILE_CSS.html +++ b/mcaptcha/struct.MOBILE_CSS.html @@ -5,9 +5,9 @@
    pub struct MOBILE_CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +17,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +26,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +43,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +58,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +72,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +104,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +123,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +154,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +173,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +199,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +209,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +235,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +249,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +263,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +289,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +313,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +342,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +354,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +366,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +378,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +390,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +417,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +442,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +514,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +532,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +559,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +584,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +596,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +607,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +636,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +662,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +692,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +709,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +732,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +754,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +763,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +783,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +803,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +825,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +847,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +862,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +879,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +919,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +937,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +958,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +984,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1017,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1034,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1051,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1065,8 +1065,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1080,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1107,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1129,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1140,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.SETTINGS.html b/mcaptcha/struct.SETTINGS.html index bbc46ac3..279524b7 100644 --- a/mcaptcha/struct.SETTINGS.html +++ b/mcaptcha/struct.SETTINGS.html @@ -5,28 +5,28 @@
    pub struct SETTINGS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.SETTINGS_ICON.html b/mcaptcha/struct.SETTINGS_ICON.html index 51274605..5403f06a 100644 --- a/mcaptcha/struct.SETTINGS_ICON.html +++ b/mcaptcha/struct.SETTINGS_ICON.html @@ -5,28 +5,28 @@
    pub struct SETTINGS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html index f85d0dd2..57d1e563 100644 --- a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html +++ b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html @@ -5,31 +5,31 @@
    pub struct SOURCE_FILES_OF_INSTANCE {
    -    pub(crate) __private_field: (),
    +    pub(crate) __private_field: (),
     }
    Expand description

    points to source files matching build commit

    -

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    +

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -41,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -50,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -61,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -70,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -87,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -102,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -116,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -149,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -180,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -201,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -220,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -239,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -270,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -287,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -306,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -326,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -352,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -362,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -388,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -402,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -416,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -442,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -466,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -495,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -507,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -519,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -531,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -543,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -570,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -595,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -667,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -685,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -712,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -737,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -749,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -760,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -789,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -815,28 +815,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -845,15 +845,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -862,18 +862,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -885,17 +885,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -907,7 +907,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -916,7 +916,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -936,7 +936,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -956,7 +956,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -978,7 +978,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -1000,9 +1000,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1015,9 +1015,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1032,29 +1032,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1072,10 +1072,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1090,10 +1090,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1111,15 +1111,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1137,21 +1137,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1162,7 +1162,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1173,7 +1173,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1192,7 +1192,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1209,7 +1209,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1226,8 +1226,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1240,8 +1240,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1255,11 +1255,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1282,11 +1282,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1304,7 +1304,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1315,49 +1315,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.Settings.html b/mcaptcha/struct.Settings.html index 7768b457..ba439a0f 100644 --- a/mcaptcha/struct.Settings.html +++ b/mcaptcha/struct.Settings.html @@ -5,42 +5,42 @@
    pub struct Settings {
    -    pub debug: bool,
    -    pub commercial: bool,
    +    pub debug: bool,
    +    pub commercial: bool,
         pub database: Database,
    -    pub redis: Option<Redis>,
    +    pub redis: Option<Redis>,
         pub server: Server,
         pub captcha: Captcha,
    -    pub source_code: String,
    -    pub smtp: Option<Smtp>,
    -    pub allow_registration: bool,
    -    pub allow_demo: bool,
    -}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub source_code: String, + pub smtp: Option<Smtp>, + pub allow_registration: bool, + pub allow_demo: bool, +}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html index 4615e60b..dce53d93 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html @@ -5,9 +5,9 @@
    pub struct VERIFICATIN_WIDGET_CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +17,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +26,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +43,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +58,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +72,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +104,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +123,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +154,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +173,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +199,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +209,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +235,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +249,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +263,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +289,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +313,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +342,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +354,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +366,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +378,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +390,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +417,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +442,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +514,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +532,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +559,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +584,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +596,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +607,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +636,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +662,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +692,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +709,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +732,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +754,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +763,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +783,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +803,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +825,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +847,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +862,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +879,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +919,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +937,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +958,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +984,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1017,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1034,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1051,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1065,8 +1065,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1080,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1107,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1129,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1140,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html index d4ce4ff8..c9d87ed5 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html @@ -5,9 +5,9 @@
    pub struct VERIFICATIN_WIDGET_JS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +17,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +26,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +43,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +58,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +72,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +104,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +123,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +154,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +173,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +199,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +209,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +235,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +249,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +263,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +289,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +313,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +342,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +354,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +366,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +378,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +390,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +417,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +442,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +514,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +532,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +559,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +584,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +596,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +607,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +636,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +662,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +692,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +709,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +732,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +754,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +763,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +783,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +803,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +825,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +847,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +862,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +879,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +919,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +937,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +958,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +984,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1017,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1034,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1051,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1065,8 +1065,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1080,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1107,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1129,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1140,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/type.AppData.html b/mcaptcha/type.AppData.html index 16cb7726..f4271f31 100644 --- a/mcaptcha/type.AppData.html +++ b/mcaptcha/type.AppData.html @@ -4,5 +4,5 @@
    -

    Type Definition mcaptcha::AppData

    source · []
    pub type AppData = Data<ArcData>;
    +

    Type Definition mcaptcha::AppData

    source · []
    pub type AppData = Data<ArcData>;
    \ No newline at end of file diff --git a/mcaptcha/type.ArcData.html b/mcaptcha/type.ArcData.html index d00e6770..89b5a204 100644 --- a/mcaptcha/type.ArcData.html +++ b/mcaptcha/type.ArcData.html @@ -4,5 +4,5 @@
    -

    Type Definition mcaptcha::ArcData

    source · []
    pub type ArcData = Arc<Data>;
    +

    Type Definition mcaptcha::ArcData

    source · []
    pub type ArcData = Arc<Data>;
    \ No newline at end of file diff --git a/mcaptcha/widget/constant.PAGE.html b/mcaptcha/widget/constant.PAGE.html index 5a44bc34..87666e4b 100644 --- a/mcaptcha/widget/constant.PAGE.html +++ b/mcaptcha/widget/constant.PAGE.html @@ -4,5 +4,5 @@
    -

    Constant mcaptcha::widget::PAGE

    source · []
    const PAGE: &str = "mCaptcha CAPTCHA verification";
    +

    Constant mcaptcha::widget::PAGE

    source · []
    const PAGE: &str = "mCaptcha CAPTCHA verification";
    \ No newline at end of file diff --git a/mcaptcha/widget/constant.WIDGET_ROUTES.html b/mcaptcha/widget/constant.WIDGET_ROUTES.html index d0c8d451..90376abc 100644 --- a/mcaptcha/widget/constant.WIDGET_ROUTES.html +++ b/mcaptcha/widget/constant.WIDGET_ROUTES.html @@ -4,5 +4,5 @@
    pub const WIDGET_ROUTES: Widget;
    +

    Constant mcaptcha::widget::WIDGET_ROUTES

    source · []
    pub const WIDGET_ROUTES: Widget;
    \ No newline at end of file diff --git a/mcaptcha/widget/fn.services.html b/mcaptcha/widget/fn.services.html index 0088d651..ea5a4aea 100644 --- a/mcaptcha/widget/fn.services.html +++ b/mcaptcha/widget/fn.services.html @@ -5,5 +5,5 @@
    pub fn services(cfg: &mut ServiceConfig)
    Expand description

    widget services

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/index.html b/mcaptcha/widget/index.html index a0f99db5..8a538797 100644 --- a/mcaptcha/widget/index.html +++ b/mcaptcha/widget/index.html @@ -11,5 +11,5 @@

    Constants

    Functions

    widget services

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/routes/index.html b/mcaptcha/widget/routes/index.html index 0af9a590..a47c4dd6 100644 --- a/mcaptcha/widget/routes/index.html +++ b/mcaptcha/widget/routes/index.html @@ -5,5 +5,5 @@
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/routes/struct.Widget.html b/mcaptcha/widget/routes/struct.Widget.html index 79e364a4..bb2c5e0e 100644 --- a/mcaptcha/widget/routes/struct.Widget.html +++ b/mcaptcha/widget/routes/struct.Widget.html @@ -5,26 +5,26 @@
    pub struct Widget {
    -    pub verification_widget: &'static str,
    -}

    Fields

    verification_widget: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub verification_widget: &'static str, +}

    Fields

    verification_widget: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/struct.INDEX_PAGE.html b/mcaptcha/widget/struct.INDEX_PAGE.html index 8c028994..64553386 100644 --- a/mcaptcha/widget/struct.INDEX_PAGE.html +++ b/mcaptcha/widget/struct.INDEX_PAGE.html @@ -5,30 +5,30 @@
    struct INDEX_PAGE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +40,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +49,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +60,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +69,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +86,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +101,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +115,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +148,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +179,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +200,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +219,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +238,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +269,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +286,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +305,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +325,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +351,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +361,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +387,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +401,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +415,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +441,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +465,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +494,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +506,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +518,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +530,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +542,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +569,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the rightmost match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +594,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +666,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +684,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +711,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +736,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +748,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +759,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +788,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +814,28 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +844,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +861,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +884,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +906,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +915,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +935,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +955,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +977,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +999,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1014,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1031,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1071,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1089,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1110,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1136,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1161,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1172,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1191,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1208,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1225,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1239,8 +1239,8 @@ replaces them with the replacement string slice.

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1254,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1281,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1303,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1314,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/struct.IndexPage.html b/mcaptcha/widget/struct.IndexPage.html index 0ee3864c..63b3f4aa 100644 --- a/mcaptcha/widget/struct.IndexPage.html +++ b/mcaptcha/widget/struct.IndexPage.html @@ -4,32 +4,32 @@
    pub struct IndexPage;

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    +

    Struct mcaptcha::widget::IndexPage

    source · []
    pub struct IndexPage;

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/struct.show_widget.html b/mcaptcha/widget/struct.show_widget.html index d4090266..6c9eba77 100644 --- a/mcaptcha/widget/struct.show_widget.html +++ b/mcaptcha/widget/struct.show_widget.html @@ -5,25 +5,25 @@
    pub struct show_widget;
    Expand description

    render a client side widget for CAPTCHA verification

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/search-index.js b/search-index.js index 6cfb252d..4db64bf1 100644 --- a/search-index.js +++ b/search-index.js @@ -1,6 +1,6 @@ var searchIndex = JSON.parse('{\ "db_core":{"doc":"mCaptcha database operations","t":[3,3,8,3,13,2,3,4,8,3,3,3,3,3,3,3,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,0,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,23,13,6,13,13,4,13,6,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,16,8,8,8,8,16,10,10,10,5],"n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_core","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_core::Login","","db_core::dev","db_core::errors","","","","","","","","","","","","","","","","","","","","","","","","db_core::errors::DBError","db_core::ops","","","","","","","","","db_core::tests"],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data requried to create new captcha","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","receiver name of the notification","","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","times at which the PoW was solved","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,3,2,4,5,1,6,7,8,9,10,3,11,12,13,14,4,5,1,6,7,8,9,10,3,11,12,13,7,12,7,2,2,7,8,9,3,11,12,13,2,2,2,2,11,12,4,5,1,6,7,8,9,10,3,11,12,13,0,10,11,12,4,2,4,5,1,6,7,8,9,10,3,11,12,13,0,2,2,2,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,9,2,2,2,2,2,2,2,2,2,4,6,8,9,8,4,5,1,6,7,8,9,10,3,11,12,13,11,12,2,8,9,8,4,5,1,6,7,8,9,10,3,11,12,13,5,0,3,2,0,8,2,2,2,2,4,13,4,5,1,6,7,8,9,10,3,11,12,13,7,0,9,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,2,2,2,2,2,2,4,5,6,2,10,4,5,1,6,7,8,9,10,3,11,12,13,15,16,0,17,0,17,17,0,17,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,19,0,0,0,0,20,20,19,21,0],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["level",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4,[["level",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["level",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["level",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[4,"Login"],[8,"MCDatabase"],[3,"TrafficPattern"],[3,"Register"],[3,"UpdateEmail"],[3,"NameHash"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"AddNotification"],[3,"Level"],[3,"CreateCaptcha"],[3,"Captcha"],[3,"Secret"],[8,"CloneSPDatabase"],[13,"Username"],[13,"Email"],[4,"DBError"],[13,"DBError"],[8,"GetConnection"],[8,"Connect"],[8,"Migrate"]]},\ -"db_sqlx_postgres":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_postgres","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::ConnectionOptions","","db_sqlx_postgres::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::DBError","","db_sqlx_postgres::dev::Error","","","","","","","","","","","","","db_sqlx_postgres::dev::Login","","","","db_sqlx_postgres::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::DBError","db_sqlx_postgres::dev::dev::Login","","db_sqlx_postgres::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::prelude::DBError","db_sqlx_postgres::dev::dev::prelude::Login","","db_sqlx_postgres::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::errors::DBError","","db_sqlx_postgres::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::DBError","db_sqlx_postgres::dev::prelude::Login","","db_sqlx_postgres::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::dev::DBError","db_sqlx_postgres::dev::prelude::dev::Login","","db_sqlx_postgres::dev::tests","","db_sqlx_postgres::errors","","db_sqlx_postgres::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::DBError","db_sqlx_postgres::prelude::Login","","db_sqlx_postgres::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::DBError","db_sqlx_postgres::prelude::dev::Login","","db_sqlx_postgres::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::prelude::DBError","db_sqlx_postgres::prelude::dev::prelude::Login","","db_sqlx_postgres::prelude::errors","","","","","","","","","","","","db_sqlx_postgres::prelude::errors::DBError","db_sqlx_postgres::prelude::ops","","","","","","","","","db_sqlx_postgres::prelude::tests"],"d":["","Use an existing database pool","Connect to databse","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create databse connection","Create databse connection","data requried to create new captcha","data requried to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","trafic that bought the user’s website down; optional","trafic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig confirms","featch PoWConfig solves","featch PoWConfig solves","","","Returns the argument unchanged.","","","","","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","mesage of the notification","mesage of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create databse connection","Create databse connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","trafic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,5,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["innernotification",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[["migrateerror",4]],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["error",3]],["error",4]],[[],["error",4]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ -"mcaptcha":{"doc":"","t":[6,6,3,17,17,3,3,17,3,3,3,3,17,3,3,3,3,3,3,3,17,17,17,17,3,3,3,3,17,3,3,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,0,12,12,0,11,11,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,12,5,0,12,0,12,0,12,12,12,0,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,2,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,2,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,2,0,0,0,11,11,5,11,11,11,11,11,11,11,11,0,12,11,11,11,11,3,11,11,11,0,5,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,5,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,3,11,11,12,12,11,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,5,3,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,0,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,12,11,12,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,12,5,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,0,0,0,5,0,5,0,0,3,3,11,11,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,11,11,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,12,5,11,11,11,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,3,11,11,12,11,11,11,11,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,3,11,11,12,12,12,11,12,11,11,12,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,3,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,12,11,11,0,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,5,3,3,4,3,3,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,12,11,12,11,11,11,11,11,11,0,0,0,0,5,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,12,11,11,3,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,2,0,0,5,0,0,3,11,11,11,11,11,11,11,11,11,11,3,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,14,12,11,11,11,11,12,11,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,11,11,17,3,12,12,11,11,12,11,11,11,12,11,12,12,11,11,11,11,3,13,6,13,4,11,11,11,11,11,12,12,12,14,14,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,17,17,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,17,17,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,11,12,11,11,11,11,0,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,12,13,13,13,13,13,13,3,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,17,0,0,5,0,0,5,0,0,0,0,5,0,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,17,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,17,3,3,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,11,0,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,3,17,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,0,5,0,0,12,11,11,11,11,11,11,11,11,11,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,12,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,3,11,11,12,11,11,12,11,11,11,11,11,12,11,0,0,0,0,0,5,0,3,3,3,3,17,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,12,3,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,3,17,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,3,11,11,17,3,12,12,11,11,12,12,11,11,11,12,11,11,12,12,12,12,12,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,3,3,3,3,3,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,5,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,2,0,5,0,3,11,11,12,11,11,11,11,11,11,11,11,3,3,0,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,6,3,3,3,3,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,10,12,12,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11],"n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","ne","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","ne","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","GetConfigPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get_config","init_mcaptcha","into","into","key","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ValidationToken","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","token","try_from","try_from","try_into","try_into","type_id","type_id","verify_pow","vzip","vzip","CaptchaValidateResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","valid","validate_captcha_token","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","into","into","mailer","new","new","new_system","remove","rename","settings","stats","try_from","try_from","try_into","try_into","type_id","type_id","validate_verification_tokens","verify_pow","vzip","vzip","0","0","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","0","0","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","ne","ne","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","0","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","Database","DatabaseBuilder","DefaultDifficultyStrategy","Redis","Server","Settings","Smtp","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","extract_database_url","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","gc","get_ip","hostname","into","into","into","into","into","into","into","into","ip","name","new","password","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","port","proxy_has_tls","redis","reply","salt","server","set_database_url","set_from_database_url","smtp","source_code","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","ne","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":["mcaptcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api","mcaptcha::api::v1","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::delete","","","","","","","","","","","","mcaptcha::api::v1::account::delete::runners","mcaptcha::api::v1::account::email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::password","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::secret","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username::runners","mcaptcha::api::v1::auth","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::auth::routes","","","","","","","","","","","","","","mcaptcha::api::v1::auth::runners","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha","","","","","","","","","mcaptcha::api::v1::mcaptcha::create","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::create::runner","mcaptcha::api::v1::mcaptcha::delete","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy::routes","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::routes","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats::routes","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update::runner","mcaptcha::api::v1::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::meta::BuildDetailsBuilderError","","mcaptcha::api::v1::meta::HealthBuilderError","","mcaptcha::api::v1::meta::routes","","","","","","","","","","","","mcaptcha::api::v1::notifications","","","","","mcaptcha::api::v1::notifications::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::mark_read","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::routes","","","","","","","","","","","","","mcaptcha::api::v1::pow","","","","","","mcaptcha::api::v1::pow::get_config","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_pow","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_token","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::routes","","","","","","","","","","","","","","","","","","mcaptcha::data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::data::SystemGroup","","mcaptcha::date","","","","","","","","","","","","","","","","","","","","","","mcaptcha::demo","","","","","","","","","","","","","","","","","mcaptcha::docs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::docs::routes","","","","","","","","","","","","","mcaptcha::email","mcaptcha::email::verification","","","","","","","","","","","","","","","","","","mcaptcha::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::errors::PageError","mcaptcha::errors::ServiceError","","","mcaptcha::pages","","","","","","","","mcaptcha::pages::auth","","","","","mcaptcha::pages::auth::login","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::register","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::routes","","","","","","","","","","","","","","mcaptcha::pages::auth::sudo","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors::routes","","","","","","","","","","","","mcaptcha::pages::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::notifications","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::routes","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings::routes","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey","","","","","","","mcaptcha::pages::panel::sitekey::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::delete","","","","","","","","","","mcaptcha::pages::panel::sitekey::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::list","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::routes","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::view","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::routes","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::sitemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::routes","mcaptcha::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets","","","","mcaptcha::static_assets::filemap","","","","","","","","","","","","mcaptcha::static_assets::static_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets::static_files::assets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget::routes","","","","","","","","","",""],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","app settings","","","","","stats recorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","trafic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emmits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","validation token that clients receive as proof for …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route hander that validates a PoW solution token","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","app settings","stats recorder","","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,0,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,20,19,19,20,0,19,0,20,19,0,11,12,13,14,15,16,17,18,0,0,0,11,12,13,14,15,16,17,18,0,0,11,12,13,14,15,16,17,18,20,0,0,19,0,19,0,20,19,19,0,0,20,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,0,0,0,0,0,0,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,0,0,0,0,22,23,0,22,23,22,23,22,23,22,23,0,22,22,23,24,24,0,24,24,24,0,0,24,24,24,24,0,0,25,26,27,25,26,27,25,25,25,25,0,25,25,26,27,25,26,27,26,27,25,0,0,25,25,26,27,25,26,27,25,26,27,25,26,27,0,0,28,29,30,28,29,30,29,29,28,29,29,29,28,28,29,30,28,29,30,28,29,29,30,29,0,29,28,29,30,28,29,30,28,29,30,0,0,28,29,30,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,33,32,33,32,33,0,32,33,32,33,0,32,33,32,33,32,33,0,32,33,0,34,35,36,34,35,36,35,35,35,35,34,35,36,34,35,36,34,36,0,35,0,0,35,34,35,36,34,35,36,34,35,36,35,0,34,35,36,0,37,38,39,37,38,39,37,38,39,37,38,39,0,0,37,38,39,0,0,0,0,37,38,39,37,38,39,37,38,39,37,38,39,0,40,40,40,40,40,40,40,40,40,40,40,40,40,0,0,0,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,41,41,42,43,41,42,43,41,42,43,42,0,41,42,43,0,41,42,43,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,0,0,0,0,0,0,0,0,0,0,0,44,45,46,44,45,46,45,45,0,44,44,45,44,45,44,45,46,44,45,46,45,44,45,46,0,44,45,45,44,45,46,44,45,46,44,45,46,44,45,46,0,0,47,48,47,48,47,47,0,47,47,47,48,47,48,47,47,48,47,47,47,48,47,48,47,48,47,48,0,0,49,49,50,51,52,49,50,51,52,49,0,49,51,49,51,0,49,49,49,51,49,51,49,50,51,52,49,50,51,52,51,51,49,50,52,0,49,51,0,49,51,49,50,51,52,49,50,51,52,49,50,51,52,0,49,50,51,52,0,53,53,53,53,53,53,53,53,53,53,53,0,0,54,55,56,54,55,56,55,56,55,56,55,56,56,55,56,54,55,56,0,54,55,56,55,54,55,56,55,56,54,55,56,54,55,56,54,55,56,56,54,55,56,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,58,59,58,59,58,58,58,58,58,59,0,58,59,58,59,0,58,58,58,59,58,59,58,59,58,59,0,60,60,60,60,60,60,60,60,60,60,0,61,62,63,61,62,63,62,62,62,61,62,63,61,62,63,62,62,61,63,0,62,61,62,63,61,62,63,61,62,63,0,0,61,62,63,0,0,0,0,0,0,0,64,65,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,70,0,66,67,69,70,66,67,69,70,67,70,70,69,70,67,70,66,69,66,64,64,69,65,65,66,67,64,64,64,68,69,70,65,65,65,71,67,66,67,0,66,67,64,68,69,70,65,71,69,70,69,70,68,71,0,66,69,0,66,67,69,70,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,66,67,66,67,64,68,69,70,65,71,72,73,74,75,0,76,76,76,76,76,76,76,76,76,76,76,0,0,0,0,0,0,0,77,78,77,78,77,77,77,77,77,77,77,78,77,77,78,77,77,78,77,77,77,77,78,77,78,77,78,77,78,0,79,80,79,80,79,79,79,79,79,79,79,80,79,0,79,79,79,80,79,79,79,79,80,79,79,79,80,79,80,79,80,79,80,0,81,82,81,82,81,81,82,81,81,82,0,82,81,81,82,81,82,81,82,81,82,0,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,84,85,84,85,84,84,84,84,84,85,0,0,84,85,84,85,84,84,84,85,84,85,84,85,84,85,0,86,86,86,86,86,86,86,0,86,86,86,86,86,86,86,86,86,0,87,88,87,88,87,87,87,87,87,88,87,88,88,87,87,87,87,88,87,88,87,88,0,87,88,0,89,90,89,90,89,89,89,89,89,90,89,90,90,89,89,89,90,89,90,89,90,89,0,89,90,0,0,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,92,0,92,0,92,92,20,92,20,20,20,20,0,0,92,20,20,20,92,92,20,20,92,20,92,92,92,20,20,92,20,92,20,92,20,92,92,92,20,93,94,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,97,98,99,100,97,98,99,100,0,97,98,99,100,97,97,0,0,97,98,99,100,97,97,98,99,100,0,0,0,97,98,99,100,97,98,99,100,97,98,99,100,97,98,99,100,0,101,101,101,101,101,101,101,101,101,101,101,101,0,0,0,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,103,104,105,105,105,105,105,105,0,105,0,105,106,105,105,0,0,105,105,105,105,0,106,0,0,105,105,105,105,105,105,105,103,104,105,107,106,103,104,105,107,106,107,103,104,105,106,107,105,106,103,103,104,104,105,105,106,106,103,104,105,105,105,105,105,105,105,105,105,107,106,106,106,103,104,105,107,106,105,106,107,103,104,105,106,105,106,103,104,105,106,103,104,105,107,106,103,104,105,107,106,103,104,105,107,106,103,104,105,107,106,108,109,110,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,113,112,114,113,112,114,113,113,113,112,113,112,114,113,112,114,0,114,113,113,113,113,112,114,113,112,114,113,112,114,113,112,114,0,0,0,115,116,115,117,116,115,117,116,116,116,115,116,115,117,116,115,117,0,117,116,116,116,116,115,117,116,115,117,116,115,117,116,115,117,0,118,118,118,118,118,118,118,118,118,118,118,118,118,0,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,0,0,120,121,122,120,121,123,122,120,121,123,122,122,120,121,0,122,120,121,123,122,120,121,123,122,122,123,122,122,0,0,122,122,122,120,121,123,122,120,121,123,122,120,121,123,122,120,121,123,0,124,124,124,124,124,124,124,124,124,124,124,0,0,125,126,125,126,125,125,125,126,125,126,125,0,0,126,125,125,0,0,0,0,125,125,125,126,125,126,125,126,125,126,0,0,0,127,128,129,127,128,129,127,127,128,129,127,127,127,128,129,127,128,127,128,0,127,127,129,128,128,127,128,129,127,128,129,127,128,129,127,128,129,0,130,130,130,130,130,130,130,130,130,130,130,130,130,130,0,0,131,132,133,134,131,132,133,134,131,131,0,131,131,132,133,134,131,132,133,134,132,133,134,131,131,0,131,0,0,131,131,132,133,134,131,132,133,134,131,132,133,134,0,131,131,132,133,134,0,135,135,135,135,135,135,135,135,135,135,135,135,135,0,0,0,0,0,0,0,0,0,0,0,0,136,137,0,138,136,137,139,140,138,141,136,137,139,140,138,141,138,139,138,139,138,139,138,136,137,0,139,138,139,139,138,136,137,139,140,138,141,136,137,139,140,138,141,139,138,140,141,139,138,139,138,139,138,136,137,139,140,138,141,136,137,139,140,138,141,136,137,139,140,138,141,136,137,139,140,138,141,142,142,0,142,142,142,142,142,142,142,0,0,0,0,143,144,145,146,143,144,145,146,143,145,143,145,143,0,145,143,144,145,146,143,144,145,146,143,145,143,143,143,145,145,144,146,143,145,143,145,143,145,143,144,145,146,143,144,145,146,143,144,145,146,143,144,145,146,0,0,147,148,147,148,147,147,147,148,147,148,0,147,148,147,147,147,147,147,148,147,148,147,148,147,148,0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,0,0,150,151,150,151,150,150,150,150,151,150,151,150,150,150,150,151,150,150,150,150,150,151,150,151,150,151,0,150,151,0,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,0,153,154,153,155,154,153,155,154,154,154,153,154,154,153,155,154,153,155,155,154,154,0,154,154,153,155,154,153,155,154,153,155,154,154,153,155,0,0,0,0,0,0,0,0,0,19,19,156,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,156,19,0,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,19,157,19,19,158,157,158,156,159,160,161,162,19,157,156,158,160,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,159,158,157,160,157,158,156,159,160,161,162,19,157,160,19,159,160,156,161,162,157,159,160,157,19,159,158,19,0,0,19,19,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,159,161,162,157,159,160,157,158,156,159,160,161,162,19,0,0,0,0,0,163,163,163,163,163,163,163,163,163,163,163,0,0,0,164,165,166,167,164,165,166,167,0,164,165,166,167,164,164,166,166,0,0,164,165,166,167,164,164,166,166,165,167,0,164,165,166,167,164,165,166,167,164,165,166,167,164,165,166,167,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,168,169,170,168,169,170,168,169,170,168,169,170,171,168,168,168,169,170,168,168,169,170,172,169,170,168,169,170,168,169,170,168,169,170,168,172,169,170,172,169,170,172,169,170,168,168,168,169,170,168,169,170,168,169,170,168,169,170,168,169,170,0,0,0,0,173,174,173,175,174,173,175,174,174,173,174,173,175,174,173,175,174,175,174,174,0,0,0,174,174,173,175,174,173,175,174,173,175,174,173,175,0,176,176,176,176,176,176,176,176,176,176],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["settings",3]],[[["",0]],["filemap",3]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["string",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[],["authentication",3,[["routes",3]]]],[[]],null,null,null,null,null,null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accountcheckpayload",3]],[[["",0]],["accountcheckresp",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["str",0],["appdata",6]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["email",3]],[[["",0],["",0]]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["changepasswordreqest",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["changepasswordreqest",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["str",0],["updatepassword",3],["data",3]]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],null,[[]],[[],["account",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["username",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["accountcheckpayload",3],["appdata",6]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,null,[[],["auth",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["register",3]],[[["",0]],["login",3]],[[["",0]],["password",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appdata",6]]],null,null,null,[[["register",3],["appdata",6]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,[[["usize",0]],["string",3]],null,[[["serviceconfig",3]]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchadetails",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[["createcaptcha",3],["appdata",6],["str",0]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["deletecaptcha",3]],[[["",0],["",0]]],null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["trafficpattern",3],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpatternrequest",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["trafficpatternrequest",3]],null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["levels",3]],[[["",0]],["i32levels",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["updatecaptcha",3],["appdata",6],["str",0]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["result",4,[["builddetails",3],["builddetailsbuildererror",4]]]],[[["",0]],["result",4,[["health",3],["healthbuildererror",4]]]],null,[[["",0]],["builddetails",3]],[[["",0]],["builddetailsbuilder",3]],[[["",0]],["health",3]],[[["",0]],["healthbuilder",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0],["bool",0]],["",0]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["string",3]]],[[["uninitializedfielderror",3]]],[[]],[[]],[[]],[[]],[[["string",3]]],[[["uninitializedfielderror",3]]],[[]],[[]],[[["",0],["str",0]],["",0]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4]],["bool",0]],[[["",0],["option",4,[["bool",0]]]],["",0]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0]],["",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["addnotificationrequest",3]],[[["",0],["",0]]],[[],["addnotificationrequest",3]],[[],["result",4]],[[["",0],["addnotificationrequest",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["",0],["addnotificationrequest",3]],["bool",0]],[[["appservice",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["notificationresp",3]],[[["",0],["",0]]],[[],["notificationresp",3]],[[],["result",4]],[[["",0],["notificationresp",3]],["bool",0]],[[["notification",3]]],[[]],[[]],[[["vec",3,[["notification",3]]]],["vec",3]],null,null,null,[[]],[[]],null,null,[[["",0],["notificationresp",3]],["bool",0]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["getconfigpayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[["appdata",6],["str",0]]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0]],["str",0]],null,[[]],[[]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["str",0]],null,[[["",0]],["str",0]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["validationtoken",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchavalidateresp",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[],["routes",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["",0],["addsite",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[]],[[]],[[],["config",3]],[[["settings",3]],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[["settings",3]]],[[["settings",3]]],[[["settings",3],["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["verifycaptcharesult",3]]],[[["",0],["work",3]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["date",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0],["formatter",3]],["result",6]],[[["offsetdatetime",3]],["string",3]],[[]],[[]],[[["i64",0]]],[[["",0]],["string",3]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["appdata",6]]],[[]],null,[[]],[[["appdata",6]]],[[["appdata",6],["duration",3]]],[[["appdata",6],["duration",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["str",0]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["data",3],["str",0],["str",0]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],null,[[["",0]],["httpresponse",3]],[[["",0]],["httpresponse",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["smtperror",3]]],[[["recverror",3]]],[[]],[[["mailboxerror",4]]],[[["parseerror",4]],["serviceerror",4]],[[["dberror",4]],["serviceerror",4]],[[["captchaerror",4]],["serviceerror",4]],[[["validationerrors",3]],["serviceerror",4]],[[["credserror",4]],["serviceerror",4]],[[]],[[["dberror",4]]],[[]],[[["serviceerror",4]]],[[]],[[]],[[]],[[]],[[]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["statuscode",3]],[[["",0]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[],["authentication",3,[["routes",3]]]],null,null,[[["serviceconfig",3]]],null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],[[]],null,null,[[],["auth",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sudopage",3]],[[["",0],["",0]]],null,[[]],[[]],[[["str",0],["option",4,[["vec",3]]]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["errorpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0],["str",0]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["vec",3,[["captcha",3]]]]],null,null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["notification",3]]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],null,null,null,[[["vec",3,[["notification",3]]]]],null,[[["",0]],["string",3]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["advanceindexpage",3]],[[["",0]],["easyindexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpatternrequest",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],null,[[["vec",3,[["captcha",3]]]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[]],[[["",0],["str",0]],["string",3]],[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["captchastats",3],["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[]],[[],["routes",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["config",3]]],[[["",0]],["server",3]],[[["",0]],["captcha",3]],[[["",0]],["defaultdifficultystrategy",3]],[[["",0]],["smtp",3]],[[["",0]],["databasebuilder",3]],[[["",0]],["database",3]],[[["",0]],["redis",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,[[["url",3]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[],["result",4,[["configerror",4]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["config",3]]],[[["config",3],["databasebuilder",3]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["str",0]],["option",4,[["str",0]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],[[["str",0]],["httpresponse",3]],[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchastats",3]],[[["",0]],["real",3]],[[["",0]],["dummy",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]],["box",3,[["stats",8]]]],null,null,[[],["captchastats",3]],[[],["real",3]],[[],["dummy",3]],[[],["result",4]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["real",3]],["bool",0]],[[["",0],["dummy",3]],["bool",0]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]]],"p":[[3,"KEY"],[3,"GITHUB"],[3,"HOME"],[3,"SETTINGS_ICON"],[3,"CREDIT_CARD"],[3,"HELP_CIRCLE"],[3,"MESSAGE"],[3,"DOCS_ICON"],[3,"MCAPTCHA_TRANS_ICON"],[3,"BAR_CHART"],[3,"SETTINGS"],[3,"FILES"],[3,"JS"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"Settings"],[3,"Data"],[3,"RedirectQuery"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"delete_account"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"UpdatePassword"],[3,"ChangePasswordReqest"],[3,"update_user_password"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"username_exists"],[3,"Username"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"CreateCaptcha"],[3,"MCaptchaDetails"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPatternRequest"],[3,"create"],[3,"UpdateTrafficPattern"],[3,"update"],[3,"Easy"],[3,"get_captcha"],[3,"Levels"],[3,"I32Levels"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"update_key"],[3,"UpdateCaptcha"],[3,"update_captcha"],[4,"BuildDetailsBuilderError"],[4,"HealthBuilderError"],[3,"BuildDetails"],[3,"BuildDetailsBuilder"],[3,"build_details"],[3,"Health"],[3,"HealthBuilder"],[3,"health"],[13,"UninitializedField"],[13,"ValidationError"],[13,"UninitializedField"],[13,"ValidationError"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"validate_captcha_token"],[3,"Routes"],[4,"SystemGroup"],[13,"Embedded"],[13,"Redis"],[3,"Date"],[3,"DemoUser"],[3,"Asset"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[13,"DBError"],[3,"INDEX"],[3,"IndexPage"],[3,"login"],[3,"INDEX"],[3,"IndexPage"],[3,"join"],[3,"Auth"],[3,"SudoPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"ErrorPage"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"EasyIndexPage"],[3,"AdvanceIndexPage"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"view_sitekey"],[3,"Routes"],[3,"INDEX"],[3,"IndexPage"],[3,"sitemap"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Redis"],[3,"FileMap"],[3,"Asset"],[3,"static_files"],[3,"Favicons"],[3,"favicons"],[3,"CaptchaStats"],[3,"Real"],[3,"Dummy"],[8,"CloneStats"],[8,"Stats"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]}\ +"db_sqlx_postgres":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_postgres","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::ConnectionOptions","","db_sqlx_postgres::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::DBError","","db_sqlx_postgres::dev::Error","","","","","","","","","","","","","db_sqlx_postgres::dev::Login","","","","db_sqlx_postgres::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::DBError","db_sqlx_postgres::dev::dev::Login","","db_sqlx_postgres::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::prelude::DBError","db_sqlx_postgres::dev::dev::prelude::Login","","db_sqlx_postgres::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::errors::DBError","","db_sqlx_postgres::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::DBError","db_sqlx_postgres::dev::prelude::Login","","db_sqlx_postgres::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::dev::DBError","db_sqlx_postgres::dev::prelude::dev::Login","","db_sqlx_postgres::dev::tests","","db_sqlx_postgres::errors","","db_sqlx_postgres::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::DBError","db_sqlx_postgres::prelude::Login","","db_sqlx_postgres::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::DBError","db_sqlx_postgres::prelude::dev::Login","","db_sqlx_postgres::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::prelude::DBError","db_sqlx_postgres::prelude::dev::prelude::Login","","db_sqlx_postgres::prelude::errors","","","","","","","","","","","","db_sqlx_postgres::prelude::errors::DBError","db_sqlx_postgres::prelude::ops","","","","","","","","","db_sqlx_postgres::prelude::tests"],"d":["","Use an existing database pool","Connect to databse","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create databse connection","Create databse connection","data requried to create new captcha","data requried to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","trafic that bought the user’s website down; optional","trafic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig confirms","featch PoWConfig solves","featch PoWConfig solves","","","","","","Returns the argument unchanged.","","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","mesage of the notification","mesage of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create databse connection","Create databse connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","trafic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,5,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["innernotification",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["error",3]],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["migrateerror",4]],["error",4]],[[]],[[],["error",4]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ +"mcaptcha":{"doc":"","t":[6,6,3,17,17,3,3,17,3,3,3,3,17,3,3,3,3,3,3,3,17,17,17,17,3,3,3,3,17,3,3,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,0,12,12,0,11,11,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,12,5,0,12,0,12,0,12,12,12,0,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,2,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,2,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,2,0,0,0,11,11,5,11,11,11,11,11,11,11,11,0,12,11,11,11,11,3,11,11,11,0,5,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,5,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,3,11,11,12,12,11,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,5,3,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,0,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,12,11,12,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,12,5,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,0,0,0,5,0,5,0,0,3,3,11,11,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,11,11,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,12,5,11,11,11,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,3,11,11,12,11,11,11,11,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,3,11,11,12,12,12,11,12,11,11,12,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,3,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,12,11,11,0,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,5,3,3,4,3,3,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,12,11,12,11,11,11,11,11,11,0,0,0,0,5,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,12,11,11,3,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,2,0,0,5,0,0,3,11,11,11,11,11,11,11,11,11,11,3,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,14,12,11,11,11,11,12,11,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,11,11,17,3,12,12,11,11,12,11,11,11,12,11,12,12,11,11,11,11,3,13,6,13,4,11,11,11,11,11,12,12,12,14,14,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,17,17,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,17,17,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,11,12,11,11,11,11,0,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,12,13,13,13,13,13,13,3,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,17,0,0,5,0,0,5,0,0,0,0,5,0,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,17,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,17,3,3,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,11,0,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,3,17,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,0,5,0,0,12,11,11,11,11,11,11,11,11,11,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,12,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,3,11,11,12,11,11,12,11,11,11,11,11,12,11,0,0,0,0,0,5,0,3,3,3,3,17,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,12,3,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,3,17,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,3,11,11,17,3,12,12,11,11,12,12,11,11,11,12,11,11,12,12,12,12,12,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,3,3,3,3,3,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,5,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,2,0,5,0,3,11,11,12,11,11,11,11,11,11,11,11,3,3,0,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,6,3,3,3,3,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,10,12,12,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11],"n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","ne","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","ne","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","GetConfigPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get_config","init_mcaptcha","into","into","key","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ValidationToken","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","token","try_from","try_from","try_into","try_into","type_id","type_id","verify_pow","vzip","vzip","CaptchaValidateResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","valid","validate_captcha_token","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","into","into","mailer","new","new","new_system","remove","rename","settings","stats","try_from","try_from","try_into","try_into","type_id","type_id","validate_verification_tokens","verify_pow","vzip","vzip","0","0","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","0","0","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","ne","ne","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","0","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","Database","DatabaseBuilder","DefaultDifficultyStrategy","Redis","Server","Settings","Smtp","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","extract_database_url","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","gc","get_ip","hostname","into","into","into","into","into","into","into","into","ip","name","new","password","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","port","proxy_has_tls","redis","reply","salt","server","set_database_url","set_from_database_url","smtp","source_code","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","ne","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":["mcaptcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api","mcaptcha::api::v1","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::delete","","","","","","","","","","","","mcaptcha::api::v1::account::delete::runners","mcaptcha::api::v1::account::email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::password","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::secret","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username::runners","mcaptcha::api::v1::auth","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::auth::routes","","","","","","","","","","","","","","mcaptcha::api::v1::auth::runners","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha","","","","","","","","","mcaptcha::api::v1::mcaptcha::create","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::create::runner","mcaptcha::api::v1::mcaptcha::delete","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy::routes","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::routes","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats::routes","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update::runner","mcaptcha::api::v1::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::meta::BuildDetailsBuilderError","","mcaptcha::api::v1::meta::HealthBuilderError","","mcaptcha::api::v1::meta::routes","","","","","","","","","","","","mcaptcha::api::v1::notifications","","","","","mcaptcha::api::v1::notifications::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::mark_read","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::routes","","","","","","","","","","","","","mcaptcha::api::v1::pow","","","","","","mcaptcha::api::v1::pow::get_config","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_pow","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_token","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::routes","","","","","","","","","","","","","","","","","","mcaptcha::data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::data::SystemGroup","","mcaptcha::date","","","","","","","","","","","","","","","","","","","","","","mcaptcha::demo","","","","","","","","","","","","","","","","","mcaptcha::docs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::docs::routes","","","","","","","","","","","","","mcaptcha::email","mcaptcha::email::verification","","","","","","","","","","","","","","","","","","mcaptcha::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::errors::PageError","mcaptcha::errors::ServiceError","","","mcaptcha::pages","","","","","","","","mcaptcha::pages::auth","","","","","mcaptcha::pages::auth::login","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::register","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::routes","","","","","","","","","","","","","","mcaptcha::pages::auth::sudo","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors::routes","","","","","","","","","","","","mcaptcha::pages::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::notifications","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::routes","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings::routes","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey","","","","","","","mcaptcha::pages::panel::sitekey::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::delete","","","","","","","","","","mcaptcha::pages::panel::sitekey::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::list","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::routes","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::view","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::routes","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::sitemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::routes","mcaptcha::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets","","","","mcaptcha::static_assets::filemap","","","","","","","","","","","","mcaptcha::static_assets::static_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets::static_files::assets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget::routes","","","","","","","","","",""],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","app settings","","","","","stats recorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","trafic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emmits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","validation token that clients receive as proof for …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route hander that validates a PoW solution token","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","app settings","stats recorder","","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,0,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,20,19,19,20,0,19,0,20,19,0,11,12,13,14,15,16,17,18,0,0,0,11,12,13,14,15,16,17,18,0,0,11,12,13,14,15,16,17,18,20,0,0,19,0,19,0,20,19,19,0,0,20,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,0,0,0,0,0,0,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,0,0,0,0,22,23,0,22,23,22,23,22,23,22,23,0,22,22,23,24,24,0,24,24,24,0,0,24,24,24,24,0,0,25,26,27,25,26,27,25,25,25,25,0,25,25,26,27,25,26,27,26,27,25,0,0,25,25,26,27,25,26,27,25,26,27,25,26,27,0,0,28,29,30,28,29,30,29,29,28,29,29,29,28,28,29,30,28,29,30,28,29,29,30,29,0,29,28,29,30,28,29,30,28,29,30,0,0,28,29,30,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,33,32,33,32,33,0,32,33,32,33,0,32,33,32,33,32,33,0,32,33,0,34,35,36,34,35,36,35,35,35,35,34,35,36,34,35,36,34,36,0,35,0,0,35,34,35,36,34,35,36,34,35,36,35,0,34,35,36,0,37,38,39,37,38,39,37,38,39,37,38,39,0,0,37,38,39,0,0,0,0,37,38,39,37,38,39,37,38,39,37,38,39,0,40,40,40,40,40,40,40,40,40,40,40,40,40,0,0,0,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,41,41,42,43,41,42,43,41,42,43,42,0,41,42,43,0,41,42,43,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,0,0,0,0,0,0,0,0,0,0,0,44,45,46,44,45,46,45,45,0,44,44,45,44,45,44,45,46,44,45,46,45,44,45,46,0,44,45,45,44,45,46,44,45,46,44,45,46,44,45,46,0,0,47,48,47,48,47,47,0,47,47,47,48,47,48,47,47,48,47,47,47,48,47,48,47,48,47,48,0,0,49,49,50,51,52,49,50,51,52,49,0,49,51,49,51,0,49,49,49,51,49,51,49,50,51,52,49,50,51,52,51,51,49,50,52,0,49,51,0,49,51,49,50,51,52,49,50,51,52,49,50,51,52,0,49,50,51,52,0,53,53,53,53,53,53,53,53,53,53,53,0,0,54,55,56,54,55,56,55,56,55,56,55,56,56,55,56,54,55,56,0,54,55,56,55,54,55,56,55,56,54,55,56,54,55,56,54,55,56,56,54,55,56,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,58,59,58,59,58,58,58,58,58,59,0,58,59,58,59,0,58,58,58,59,58,59,58,59,58,59,0,60,60,60,60,60,60,60,60,60,60,0,61,62,63,61,62,63,62,62,62,61,62,63,61,62,63,62,62,61,63,0,62,61,62,63,61,62,63,61,62,63,0,0,61,62,63,0,0,0,0,0,0,0,64,65,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,70,0,66,67,69,70,66,67,69,70,67,70,70,69,70,67,70,66,69,66,64,64,69,65,65,66,67,64,64,64,68,69,70,65,65,65,71,67,66,67,0,66,67,64,68,69,70,65,71,69,70,69,70,68,71,0,66,69,0,66,67,69,70,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,66,67,66,67,64,68,69,70,65,71,72,73,74,75,0,76,76,76,76,76,76,76,76,76,76,76,0,0,0,0,0,0,0,77,78,77,78,77,77,77,77,77,77,77,78,77,77,78,77,77,78,77,77,77,77,78,77,78,77,78,77,78,0,79,80,79,80,79,79,79,79,79,79,79,80,79,0,79,79,79,80,79,79,79,79,80,79,79,79,80,79,80,79,80,79,80,0,81,82,81,82,81,81,82,81,81,82,0,82,81,81,82,81,82,81,82,81,82,0,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,84,85,84,85,84,84,84,84,84,85,0,0,84,85,84,85,84,84,84,85,84,85,84,85,84,85,0,86,86,86,86,86,86,86,0,86,86,86,86,86,86,86,86,86,0,87,88,87,88,87,87,87,87,87,88,87,88,88,87,87,87,87,88,87,88,87,88,0,87,88,0,89,90,89,90,89,89,89,89,89,90,89,90,90,89,89,89,90,89,90,89,90,89,0,89,90,0,0,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,92,0,92,0,92,92,20,92,20,20,20,20,0,0,92,20,20,20,92,92,20,20,92,20,92,92,92,20,20,92,20,92,20,92,20,92,92,92,20,93,94,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,97,98,99,100,97,98,99,100,0,97,98,99,100,97,97,0,0,97,98,99,100,97,97,98,99,100,0,0,0,97,98,99,100,97,98,99,100,97,98,99,100,97,98,99,100,0,101,101,101,101,101,101,101,101,101,101,101,101,0,0,0,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,103,104,105,105,105,105,105,105,0,105,0,105,106,105,105,0,0,105,105,105,105,0,106,0,0,105,105,105,105,105,105,105,103,104,105,107,106,103,104,105,107,106,107,103,104,105,106,107,105,106,103,103,104,104,105,105,106,106,103,104,105,105,105,105,105,105,105,105,105,107,106,106,106,103,104,105,107,106,105,106,107,103,104,105,106,105,106,103,104,105,106,103,104,105,107,106,103,104,105,107,106,103,104,105,107,106,103,104,105,107,106,108,109,110,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,113,112,114,113,112,114,113,113,113,112,113,112,114,113,112,114,0,114,113,113,113,113,112,114,113,112,114,113,112,114,113,112,114,0,0,0,115,116,115,117,116,115,117,116,116,116,115,116,115,117,116,115,117,0,117,116,116,116,116,115,117,116,115,117,116,115,117,116,115,117,0,118,118,118,118,118,118,118,118,118,118,118,118,118,0,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,0,0,0,120,121,122,120,121,123,122,120,121,123,122,122,120,121,0,122,120,121,123,122,120,121,123,122,122,123,122,122,0,0,122,122,122,120,121,123,122,120,121,123,122,120,121,123,122,120,121,123,0,124,124,124,124,124,124,124,124,124,124,124,0,0,125,126,125,126,125,125,125,126,125,126,125,0,0,126,125,125,0,0,0,0,125,125,125,126,125,126,125,126,125,126,0,0,0,127,128,129,127,128,129,127,127,128,129,127,127,127,128,129,127,128,127,128,0,127,127,129,128,128,127,128,129,127,128,129,127,128,129,127,128,129,0,130,130,130,130,130,130,130,130,130,130,130,130,130,130,0,0,131,132,133,134,131,132,133,134,131,131,0,131,131,132,133,134,131,132,133,134,132,133,134,131,131,0,131,0,0,131,131,132,133,134,131,132,133,134,131,132,133,134,0,131,131,132,133,134,0,135,135,135,135,135,135,135,135,135,135,135,135,135,0,0,0,0,0,0,0,0,0,0,0,0,136,137,0,138,136,137,139,140,138,141,136,137,139,140,138,141,138,139,138,139,138,139,138,136,137,0,139,138,139,139,138,136,137,139,140,138,141,136,137,139,140,138,141,139,138,140,141,139,138,139,138,139,138,136,137,139,140,138,141,136,137,139,140,138,141,136,137,139,140,138,141,136,137,139,140,138,141,142,142,0,142,142,142,142,142,142,142,0,0,0,0,143,144,145,146,143,144,145,146,143,145,143,145,143,0,145,143,144,145,146,143,144,145,146,143,145,143,143,143,145,145,144,146,143,145,143,145,143,145,143,144,145,146,143,144,145,146,143,144,145,146,143,144,145,146,0,0,147,148,147,148,147,147,147,148,147,148,0,147,148,147,147,147,147,147,148,147,148,147,148,147,148,0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,0,0,150,151,150,151,150,150,150,150,151,150,151,150,150,150,150,151,150,150,150,150,150,151,150,151,150,151,0,150,151,0,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,0,153,154,153,155,154,153,155,154,154,154,153,154,154,153,155,154,153,155,155,154,154,0,154,154,153,155,154,153,155,154,153,155,154,154,153,155,0,0,0,0,0,0,0,0,0,19,19,156,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,156,19,0,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,19,157,19,19,158,157,158,156,159,160,161,162,19,157,156,158,160,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,159,158,157,160,157,158,156,159,160,161,162,19,157,160,19,159,160,156,161,162,157,159,160,157,19,159,158,19,0,0,19,19,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,157,158,156,159,160,161,162,19,159,161,162,157,159,160,157,158,156,159,160,161,162,19,0,0,0,0,0,163,163,163,163,163,163,163,163,163,163,163,0,0,0,164,165,166,167,164,165,166,167,0,164,165,166,167,164,164,166,166,0,0,164,165,166,167,164,164,166,166,165,167,0,164,165,166,167,164,165,166,167,164,165,166,167,164,165,166,167,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,168,169,170,168,169,170,168,169,170,168,169,170,171,168,168,168,169,170,168,168,169,170,172,169,170,168,169,170,168,169,170,168,169,170,168,172,169,170,172,169,170,172,169,170,168,168,168,169,170,168,169,170,168,169,170,168,169,170,168,169,170,0,0,0,0,173,174,173,175,174,173,175,174,174,173,174,173,175,174,173,175,174,175,174,174,0,0,0,174,174,173,175,174,173,175,174,173,175,174,173,175,0,176,176,176,176,176,176,176,176,176,176],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["settings",3]],[[["",0]],["filemap",3]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["string",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[],["authentication",3,[["routes",3]]]],[[]],null,null,null,null,null,null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accountcheckpayload",3]],[[["",0]],["accountcheckresp",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["str",0],["appdata",6]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["email",3]],[[["",0],["",0]]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["changepasswordreqest",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[["changepasswordreqest",3]]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["str",0],["updatepassword",3],["data",3]]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],null,[[]],[[],["account",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["username",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["accountcheckpayload",3],["appdata",6]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,null,[[],["auth",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["register",3]],[[["",0]],["login",3]],[[["",0]],["password",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appdata",6]]],null,null,null,[[["register",3],["appdata",6]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,[[["usize",0]],["string",3]],null,[[["serviceconfig",3]]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchadetails",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[["createcaptcha",3],["appdata",6],["str",0]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["deletecaptcha",3]],[[["",0],["",0]]],null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["trafficpattern",3],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpatternrequest",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["trafficpatternrequest",3]],null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["levels",3]],[[["",0]],["i32levels",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["updatecaptcha",3],["appdata",6],["str",0]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["result",4,[["builddetails",3],["builddetailsbuildererror",4]]]],[[["",0]],["result",4,[["health",3],["healthbuildererror",4]]]],null,[[["",0]],["builddetails",3]],[[["",0]],["builddetailsbuilder",3]],[[["",0]],["health",3]],[[["",0]],["healthbuilder",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0],["bool",0]],["",0]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["uninitializedfielderror",3]]],[[["string",3]]],[[]],[[]],[[]],[[]],[[["uninitializedfielderror",3]]],[[["string",3]]],[[]],[[]],[[["",0],["str",0]],["",0]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4]],["bool",0]],[[["",0],["option",4,[["bool",0]]]],["",0]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0]],["",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["addnotificationrequest",3]],[[["",0],["",0]]],[[],["addnotificationrequest",3]],[[],["result",4]],[[["",0],["addnotificationrequest",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["",0],["addnotificationrequest",3]],["bool",0]],[[["appservice",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["notificationresp",3]],[[["",0],["",0]]],[[],["notificationresp",3]],[[],["result",4]],[[["",0],["notificationresp",3]],["bool",0]],[[["notification",3]]],[[]],[[]],[[["vec",3,[["notification",3]]]],["vec",3]],null,null,null,[[]],[[]],null,null,[[["",0],["notificationresp",3]],["bool",0]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["getconfigpayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[["appdata",6],["str",0]]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0]],["str",0]],null,[[]],[[]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["str",0]],null,[[["",0]],["str",0]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["validationtoken",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchavalidateresp",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[],["routes",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["",0],["addsite",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[]],[[]],[[],["config",3]],[[["settings",3]],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[["settings",3]]],[[["settings",3]]],[[["settings",3],["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["verifycaptcharesult",3]]],[[["",0],["work",3]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["date",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0],["formatter",3]],["result",6]],[[["offsetdatetime",3]],["string",3]],[[]],[[]],[[["i64",0]]],[[["",0]],["string",3]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["appdata",6]]],[[]],null,[[]],[[["appdata",6]]],[[["appdata",6],["duration",3]]],[[["appdata",6],["duration",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["str",0]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["data",3],["str",0],["str",0]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],null,[[["",0]],["httpresponse",3]],[[["",0]],["httpresponse",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["smtperror",3]]],[[]],[[["mailboxerror",4]]],[[["recverror",3]]],[[["captchaerror",4]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["validationerrors",3]],["serviceerror",4]],[[["dberror",4]],["serviceerror",4]],[[["credserror",4]],["serviceerror",4]],[[]],[[]],[[["dberror",4]]],[[["serviceerror",4]]],[[]],[[]],[[]],[[]],[[]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["statuscode",3]],[[["",0]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[],["authentication",3,[["routes",3]]]],null,null,[[["serviceconfig",3]]],null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],[[]],null,null,[[],["auth",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sudopage",3]],[[["",0],["",0]]],null,[[]],[[]],[[["str",0],["option",4,[["vec",3]]]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["errorpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0],["str",0]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["vec",3,[["captcha",3]]]]],null,null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["notification",3]]],[[]],[[]],null,null,[[]],[[]],[[]],null,null,null,[[["vec",3,[["notification",3]]]]],null,[[["",0]],["string",3]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["advanceindexpage",3]],[[["",0]],["easyindexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpatternrequest",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],null,[[["vec",3,[["captcha",3]]]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[]],[[["",0],["str",0]],["string",3]],[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["captchastats",3],["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[]],[[],["routes",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["config",3]]],[[["",0]],["server",3]],[[["",0]],["captcha",3]],[[["",0]],["defaultdifficultystrategy",3]],[[["",0]],["smtp",3]],[[["",0]],["databasebuilder",3]],[[["",0]],["database",3]],[[["",0]],["redis",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,[[["url",3]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[],["result",4,[["configerror",4]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["config",3]]],[[["config",3],["databasebuilder",3]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["str",0]],["option",4,[["str",0]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],[[["str",0]],["httpresponse",3]],[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchastats",3]],[[["",0]],["real",3]],[[["",0]],["dummy",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]],["box",3,[["stats",8]]]],null,null,[[],["captchastats",3]],[[],["real",3]],[[],["dummy",3]],[[],["result",4]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["real",3]],["bool",0]],[[["",0],["dummy",3]],["bool",0]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]]],"p":[[3,"KEY"],[3,"GITHUB"],[3,"HOME"],[3,"SETTINGS_ICON"],[3,"CREDIT_CARD"],[3,"HELP_CIRCLE"],[3,"MESSAGE"],[3,"DOCS_ICON"],[3,"MCAPTCHA_TRANS_ICON"],[3,"BAR_CHART"],[3,"SETTINGS"],[3,"FILES"],[3,"JS"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"Settings"],[3,"Data"],[3,"RedirectQuery"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"delete_account"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"UpdatePassword"],[3,"ChangePasswordReqest"],[3,"update_user_password"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"username_exists"],[3,"Username"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"CreateCaptcha"],[3,"MCaptchaDetails"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPatternRequest"],[3,"create"],[3,"UpdateTrafficPattern"],[3,"update"],[3,"Easy"],[3,"get_captcha"],[3,"Levels"],[3,"I32Levels"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"update_key"],[3,"UpdateCaptcha"],[3,"update_captcha"],[4,"BuildDetailsBuilderError"],[4,"HealthBuilderError"],[3,"BuildDetails"],[3,"BuildDetailsBuilder"],[3,"build_details"],[3,"Health"],[3,"HealthBuilder"],[3,"health"],[13,"UninitializedField"],[13,"ValidationError"],[13,"UninitializedField"],[13,"ValidationError"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"validate_captcha_token"],[3,"Routes"],[4,"SystemGroup"],[13,"Embedded"],[13,"Redis"],[3,"Date"],[3,"DemoUser"],[3,"Asset"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[13,"DBError"],[3,"INDEX"],[3,"IndexPage"],[3,"login"],[3,"INDEX"],[3,"IndexPage"],[3,"join"],[3,"Auth"],[3,"SudoPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"ErrorPage"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"EasyIndexPage"],[3,"AdvanceIndexPage"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"view_sitekey"],[3,"Routes"],[3,"INDEX"],[3,"IndexPage"],[3,"sitemap"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Redis"],[3,"FileMap"],[3,"Asset"],[3,"static_files"],[3,"Favicons"],[3,"favicons"],[3,"CaptchaStats"],[3,"Real"],[3,"Dummy"],[8,"CloneStats"],[8,"Stats"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/settings.html b/settings.html index 5a09a8cd..d1de3f3c 100644 --- a/settings.html +++ b/settings.html @@ -3,5 +3,5 @@

    +

    Settings

    \ No newline at end of file diff --git a/src/db_core/errors.rs.html b/src/db_core/errors.rs.html index 1d24e067..b0df1b71 100644 --- a/src/db_core/errors.rs.html +++ b/src/db_core/errors.rs.html @@ -126,5 +126,5 @@ /// Generic result data structure pub type DBResult<V> = std::result::Result<V, DBError>;
    -
    +
    \ No newline at end of file diff --git a/src/db_core/lib.rs.html b/src/db_core/lib.rs.html index c854b2d4..53d1c979 100644 --- a/src/db_core/lib.rs.html +++ b/src/db_core/lib.rs.html @@ -708,5 +708,5 @@ } }
    -
    +
    \ No newline at end of file diff --git a/src/db_core/ops.rs.html b/src/db_core/ops.rs.html index baebf674..0367363c 100644 --- a/src/db_core/ops.rs.html +++ b/src/db_core/ops.rs.html @@ -102,5 +102,5 @@ async fn migrate(&self) -> DBResult<()>; }
    -
    +
    \ No newline at end of file diff --git a/src/db_core/tests.rs.html b/src/db_core/tests.rs.html index 9a59f539..d276e1b4 100644 --- a/src/db_core/tests.rs.html +++ b/src/db_core/tests.rs.html @@ -572,5 +572,5 @@ assert!(!db.captcha_exists(Some(p.username), c.key).await.unwrap()); }
    -
    +
    \ No newline at end of file diff --git a/src/db_sqlx_postgres/errors.rs.html b/src/db_sqlx_postgres/errors.rs.html index 58d86f97..9e81a75b 100644 --- a/src/db_sqlx_postgres/errors.rs.html +++ b/src/db_sqlx_postgres/errors.rs.html @@ -116,5 +116,5 @@ } }
    -
    +
    \ No newline at end of file diff --git a/src/db_sqlx_postgres/lib.rs.html b/src/db_sqlx_postgres/lib.rs.html index 8b1870c4..5a35907e 100644 --- a/src/db_sqlx_postgres/lib.rs.html +++ b/src/db_sqlx_postgres/lib.rs.html @@ -1914,5 +1914,5 @@ } }
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/mod.rs.html b/src/mcaptcha/api/mod.rs.html index 5c3fa7bb..cc12e090 100644 --- a/src/mcaptcha/api/mod.rs.html +++ b/src/mcaptcha/api/mod.rs.html @@ -40,5 +40,5 @@ pub mod v1; -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/delete.rs.html b/src/mcaptcha/api/v1/account/delete.rs.html index 00012968..85412fb6 100644 --- a/src/mcaptcha/api/v1/account/delete.rs.html +++ b/src/mcaptcha/api/v1/account/delete.rs.html @@ -132,5 +132,5 @@ cfg.service(delete_account); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/email.rs.html b/src/mcaptcha/api/v1/account/email.rs.html index fa531864..f01637a0 100644 --- a/src/mcaptcha/api/v1/account/email.rs.html +++ b/src/mcaptcha/api/v1/account/email.rs.html @@ -144,5 +144,5 @@ cfg.service(set_email); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/mod.rs.html b/src/mcaptcha/api/v1/account/mod.rs.html index 45147bd6..be22a322 100644 --- a/src/mcaptcha/api/v1/account/mod.rs.html +++ b/src/mcaptcha/api/v1/account/mod.rs.html @@ -172,5 +172,5 @@ password::services(cfg); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/password.rs.html b/src/mcaptcha/api/v1/account/password.rs.html index bf93c64a..83262a00 100644 --- a/src/mcaptcha/api/v1/account/password.rs.html +++ b/src/mcaptcha/api/v1/account/password.rs.html @@ -388,5 +388,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/secret.rs.html b/src/mcaptcha/api/v1/account/secret.rs.html index f0e36cfa..5f6631dc 100644 --- a/src/mcaptcha/api/v1/account/secret.rs.html +++ b/src/mcaptcha/api/v1/account/secret.rs.html @@ -130,5 +130,5 @@ cfg.service(update_user_secret); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/username.rs.html b/src/mcaptcha/api/v1/account/username.rs.html index 7f809f4c..e1773d6a 100644 --- a/src/mcaptcha/api/v1/account/username.rs.html +++ b/src/mcaptcha/api/v1/account/username.rs.html @@ -158,5 +158,5 @@ cfg.service(set_username); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/auth.rs.html b/src/mcaptcha/api/v1/auth.rs.html index 493566c4..93e5106d 100644 --- a/src/mcaptcha/api/v1/auth.rs.html +++ b/src/mcaptcha/api/v1/auth.rs.html @@ -406,5 +406,5 @@ .finish() } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/create.rs.html b/src/mcaptcha/api/v1/mcaptcha/create.rs.html index a95b9568..ec141833 100644 --- a/src/mcaptcha/api/v1/mcaptcha/create.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/create.rs.html @@ -202,5 +202,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html index 6230a624..3f26977a 100644 --- a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html @@ -120,5 +120,5 @@ Ok(HttpResponse::Ok()) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html index 42392a13..aec901ff 100644 --- a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html @@ -780,5 +780,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/get.rs.html b/src/mcaptcha/api/v1/mcaptcha/get.rs.html index 222283a9..d8c879f3 100644 --- a/src/mcaptcha/api/v1/mcaptcha/get.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/get.rs.html @@ -108,5 +108,5 @@ pub visitor_threshold: i32, } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html index 0b6f2c7b..d830ae09 100644 --- a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html @@ -160,5 +160,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html index b2223188..0af9db6b 100644 --- a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html @@ -112,5 +112,5 @@ Ok(HttpResponse::Ok().json(&stats)) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/update.rs.html b/src/mcaptcha/api/v1/mcaptcha/update.rs.html index a6c3718f..ac52d000 100644 --- a/src/mcaptcha/api/v1/mcaptcha/update.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/update.rs.html @@ -418,5 +418,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/meta.rs.html b/src/mcaptcha/api/v1/meta.rs.html index 99755c9d..fce7dd33 100644 --- a/src/mcaptcha/api/v1/meta.rs.html +++ b/src/mcaptcha/api/v1/meta.rs.html @@ -290,5 +290,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mod.rs.html b/src/mcaptcha/api/v1/mod.rs.html index e128b2c7..5bef2516 100644 --- a/src/mcaptcha/api/v1/mod.rs.html +++ b/src/mcaptcha/api/v1/mod.rs.html @@ -106,5 +106,5 @@ #[cfg(test)] mod tests; -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/add.rs.html b/src/mcaptcha/api/v1/notifications/add.rs.html index a979d4cf..e61bce08 100644 --- a/src/mcaptcha/api/v1/notifications/add.rs.html +++ b/src/mcaptcha/api/v1/notifications/add.rs.html @@ -210,5 +210,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/get.rs.html b/src/mcaptcha/api/v1/notifications/get.rs.html index dba407a8..ec233b7a 100644 --- a/src/mcaptcha/api/v1/notifications/get.rs.html +++ b/src/mcaptcha/api/v1/notifications/get.rs.html @@ -292,5 +292,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/mark_read.rs.html b/src/mcaptcha/api/v1/notifications/mark_read.rs.html index 8f0d266b..53d8323d 100644 --- a/src/mcaptcha/api/v1/notifications/mark_read.rs.html +++ b/src/mcaptcha/api/v1/notifications/mark_read.rs.html @@ -288,5 +288,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/mod.rs.html b/src/mcaptcha/api/v1/notifications/mod.rs.html index da060dcf..41123356 100644 --- a/src/mcaptcha/api/v1/notifications/mod.rs.html +++ b/src/mcaptcha/api/v1/notifications/mod.rs.html @@ -94,5 +94,5 @@ cfg.service(mark_read::mark_read); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/get_config.rs.html b/src/mcaptcha/api/v1/pow/get_config.rs.html index d575f5ff..e5480f31 100644 --- a/src/mcaptcha/api/v1/pow/get_config.rs.html +++ b/src/mcaptcha/api/v1/pow/get_config.rs.html @@ -566,5 +566,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/mod.rs.html b/src/mcaptcha/api/v1/pow/mod.rs.html index d8b9defd..a98ca015 100644 --- a/src/mcaptcha/api/v1/pow/mod.rs.html +++ b/src/mcaptcha/api/v1/pow/mod.rs.html @@ -196,5 +196,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/verify_pow.rs.html b/src/mcaptcha/api/v1/pow/verify_pow.rs.html index de543ff8..beb2a936 100644 --- a/src/mcaptcha/api/v1/pow/verify_pow.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_pow.rs.html @@ -270,5 +270,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/verify_token.rs.html b/src/mcaptcha/api/v1/pow/verify_token.rs.html index b0024617..a06a6056 100644 --- a/src/mcaptcha/api/v1/pow/verify_token.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_token.rs.html @@ -318,5 +318,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/routes.rs.html b/src/mcaptcha/api/v1/routes.rs.html index ee7cecce..784779c8 100644 --- a/src/mcaptcha/api/v1/routes.rs.html +++ b/src/mcaptcha/api/v1/routes.rs.html @@ -112,5 +112,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/data.rs.html b/src/mcaptcha/data.rs.html index d1afbba4..829a83b8 100644 --- a/src/mcaptcha/data.rs.html +++ b/src/mcaptcha/data.rs.html @@ -498,5 +498,5 @@ /// Mailer data type AsyncSmtpTransport<Tokio1Executor> pub type Mailer = AsyncSmtpTransport<Tokio1Executor>; -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/date.rs.html b/src/mcaptcha/date.rs.html index 6f008267..d2f43c45 100644 --- a/src/mcaptcha/date.rs.html +++ b/src/mcaptcha/date.rs.html @@ -234,5 +234,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/demo.rs.html b/src/mcaptcha/demo.rs.html index cf039e6a..7753baca 100644 --- a/src/mcaptcha/demo.rs.html +++ b/src/mcaptcha/demo.rs.html @@ -340,5 +340,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/docs.rs.html b/src/mcaptcha/docs.rs.html index 362cf437..92ff57cd 100644 --- a/src/mcaptcha/docs.rs.html +++ b/src/mcaptcha/docs.rs.html @@ -274,5 +274,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/email/mod.rs.html b/src/mcaptcha/email/mod.rs.html index 688669ce..813bc44b 100644 --- a/src/mcaptcha/email/mod.rs.html +++ b/src/mcaptcha/email/mod.rs.html @@ -40,5 +40,5 @@ pub mod verification; -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/email/verification.rs.html b/src/mcaptcha/email/verification.rs.html index b40ef20c..d7bc0a9a 100644 --- a/src/mcaptcha/email/verification.rs.html +++ b/src/mcaptcha/email/verification.rs.html @@ -264,5 +264,5 @@ project website: {}", } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/errors.rs.html b/src/mcaptcha/errors.rs.html index 454903d7..55ff33c2 100644 --- a/src/mcaptcha/errors.rs.html +++ b/src/mcaptcha/errors.rs.html @@ -682,5 +682,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/main.rs.html b/src/mcaptcha/main.rs.html index 97e2f7e8..3500eb92 100644 --- a/src/mcaptcha/main.rs.html +++ b/src/mcaptcha/main.rs.html @@ -388,5 +388,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/login.rs.html b/src/mcaptcha/pages/auth/login.rs.html index 33074a69..f262947f 100644 --- a/src/mcaptcha/pages/auth/login.rs.html +++ b/src/mcaptcha/pages/auth/login.rs.html @@ -94,5 +94,5 @@ .body(&**INDEX) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/mod.rs.html b/src/mcaptcha/pages/auth/mod.rs.html index 2d6243d1..d0b2fc0f 100644 --- a/src/mcaptcha/pages/auth/mod.rs.html +++ b/src/mcaptcha/pages/auth/mod.rs.html @@ -126,5 +126,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/register.rs.html b/src/mcaptcha/pages/auth/register.rs.html index 88b74896..0e6d2f6e 100644 --- a/src/mcaptcha/pages/auth/register.rs.html +++ b/src/mcaptcha/pages/auth/register.rs.html @@ -90,5 +90,5 @@ .body(&**INDEX) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/sudo.rs.html b/src/mcaptcha/pages/auth/sudo.rs.html index 9adb6b87..f3e278d4 100644 --- a/src/mcaptcha/pages/auth/sudo.rs.html +++ b/src/mcaptcha/pages/auth/sudo.rs.html @@ -94,5 +94,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/errors.rs.html b/src/mcaptcha/pages/errors.rs.html index 61dfecb1..93c9286d 100644 --- a/src/mcaptcha/pages/errors.rs.html +++ b/src/mcaptcha/pages/errors.rs.html @@ -244,5 +244,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/mod.rs.html b/src/mcaptcha/pages/mod.rs.html index ff214ad3..53b26824 100644 --- a/src/mcaptcha/pages/mod.rs.html +++ b/src/mcaptcha/pages/mod.rs.html @@ -232,5 +232,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/mod.rs.html b/src/mcaptcha/pages/panel/mod.rs.html index 03d8ce0e..a0859856 100644 --- a/src/mcaptcha/pages/panel/mod.rs.html +++ b/src/mcaptcha/pages/panel/mod.rs.html @@ -202,5 +202,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/notifications.rs.html b/src/mcaptcha/pages/panel/notifications.rs.html index 29f0707f..f3edb4f7 100644 --- a/src/mcaptcha/pages/panel/notifications.rs.html +++ b/src/mcaptcha/pages/panel/notifications.rs.html @@ -264,5 +264,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/settings.rs.html b/src/mcaptcha/pages/panel/settings.rs.html index 3b9308e3..22df5ba1 100644 --- a/src/mcaptcha/pages/panel/settings.rs.html +++ b/src/mcaptcha/pages/panel/settings.rs.html @@ -228,5 +228,5 @@ .body(page) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/add.rs.html b/src/mcaptcha/pages/panel/sitekey/add.rs.html index b86c9540..8adae07d 100644 --- a/src/mcaptcha/pages/panel/sitekey/add.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/add.rs.html @@ -184,5 +184,5 @@ .body(&**EASY_INDEX) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/delete.rs.html b/src/mcaptcha/pages/panel/sitekey/delete.rs.html index 34778106..ea98c0b3 100644 --- a/src/mcaptcha/pages/panel/sitekey/delete.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/delete.rs.html @@ -80,5 +80,5 @@ .body(page) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/edit.rs.html b/src/mcaptcha/pages/panel/sitekey/edit.rs.html index faa466aa..7bd2cf71 100644 --- a/src/mcaptcha/pages/panel/sitekey/edit.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/edit.rs.html @@ -398,5 +398,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/list.rs.html b/src/mcaptcha/pages/panel/sitekey/list.rs.html index 97c9e838..50fb573c 100644 --- a/src/mcaptcha/pages/panel/sitekey/list.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/list.rs.html @@ -214,5 +214,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/mod.rs.html b/src/mcaptcha/pages/panel/sitekey/mod.rs.html index ee65c0b9..ce274fbe 100644 --- a/src/mcaptcha/pages/panel/sitekey/mod.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/mod.rs.html @@ -202,5 +202,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/view.rs.html b/src/mcaptcha/pages/panel/sitekey/view.rs.html index 9b7c9b00..6ffa46f3 100644 --- a/src/mcaptcha/pages/panel/sitekey/view.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/view.rs.html @@ -264,5 +264,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/routes.rs.html b/src/mcaptcha/pages/routes.rs.html index 851bb46b..43616bc9 100644 --- a/src/mcaptcha/pages/routes.rs.html +++ b/src/mcaptcha/pages/routes.rs.html @@ -158,5 +158,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/sitemap.rs.html b/src/mcaptcha/pages/sitemap.rs.html index ea91db9b..602ad397 100644 --- a/src/mcaptcha/pages/sitemap.rs.html +++ b/src/mcaptcha/pages/sitemap.rs.html @@ -112,5 +112,5 @@ .body(&**INDEX) } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/routes.rs.html b/src/mcaptcha/routes.rs.html index 35e7ba5a..b11ce6ee 100644 --- a/src/mcaptcha/routes.rs.html +++ b/src/mcaptcha/routes.rs.html @@ -52,5 +52,5 @@ crate::static_assets::services(cfg); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/settings.rs.html b/src/mcaptcha/settings.rs.html index da4c7147..b8975cdc 100644 --- a/src/mcaptcha/settings.rs.html +++ b/src/mcaptcha/settings.rs.html @@ -488,5 +488,5 @@ // } //} -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/static_assets/filemap.rs.html b/src/mcaptcha/static_assets/filemap.rs.html index ca330252..57c6944a 100644 --- a/src/mcaptcha/static_assets/filemap.rs.html +++ b/src/mcaptcha/static_assets/filemap.rs.html @@ -96,5 +96,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/static_assets/mod.rs.html b/src/mcaptcha/static_assets/mod.rs.html index c91e488d..fc35a5a0 100644 --- a/src/mcaptcha/static_assets/mod.rs.html +++ b/src/mcaptcha/static_assets/mod.rs.html @@ -54,5 +54,5 @@ cfg.service(static_files::favicons); } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/static_assets/static_files.rs.html b/src/mcaptcha/static_assets/static_files.rs.html index 04249c7e..6851e2ca 100644 --- a/src/mcaptcha/static_assets/static_files.rs.html +++ b/src/mcaptcha/static_assets/static_files.rs.html @@ -340,5 +340,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/stats.rs.html b/src/mcaptcha/stats.rs.html index b86c3b92..3713c4b0 100644 --- a/src/mcaptcha/stats.rs.html +++ b/src/mcaptcha/stats.rs.html @@ -264,5 +264,5 @@ } } -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/widget/mod.rs.html b/src/mcaptcha/widget/mod.rs.html index 89128d22..c92ad069 100644 --- a/src/mcaptcha/widget/mod.rs.html +++ b/src/mcaptcha/widget/mod.rs.html @@ -166,5 +166,5 @@ } } -
    +
    \ No newline at end of file