diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 65f4e890..b72fd793 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 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 McaptchaConfig","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Clone for Level","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Clone for Level","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":false,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Clone for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Clone for StatsPayload","synthetic":false,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; -implementors["tests_migrate"] = [{"text":"impl Clone for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Clone for DefaultDifficultyStrategy","synthetic":false,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Clone for Smtp","synthetic":false,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Clone for Redis","synthetic":false,"types":["tests_migrate::settings::Redis"]},{"text":"impl Clone for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; +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 Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 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 McaptchaConfig","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Clone for Level","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Clone for Level","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":false,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Clone for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Clone for StatsPayload","synthetic":false,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["tests_migrate"] = [{"text":"impl Clone for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Clone for DefaultDifficultyStrategy","synthetic":false,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Clone for Smtp","synthetic":false,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Clone for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Clone for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Clone for Redis","synthetic":false,"types":["tests_migrate::settings::Redis"]},{"text":"impl Clone for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; 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 9a643807..ae761c20 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"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"]}]; +implementors["mcaptcha"] = [{"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"]}]; 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 e25e7bc1..e7424b00 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl From<ChangePasswordReqest> for UpdatePassword","synthetic":false,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"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<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<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<Error> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<Notification> for Notification","synthetic":false,"types":["mcaptcha::pages::panel::notifications::Notification"]}]; +implementors["mcaptcha"] = [{"text":"impl From<ChangePasswordReqest> for UpdatePassword","synthetic":false,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"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<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<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<Error> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<ServiceError> 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 de66c4cf..8a14d35c 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"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 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"]}]; +implementors["mcaptcha"] = [{"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 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"]}]; 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 6298d052..d1e39b5c 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 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 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 StatsUnixTimestamp","synthetic":false,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Debug for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Debug for StatsPayload","synthetic":false,"types":["mcaptcha::stats::fetch::StatsPayload"]}]; -implementors["tests_migrate"] = [{"text":"impl Debug for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Debug for DefaultDifficultyStrategy","synthetic":false,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Debug for Smtp","synthetic":false,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Debug for Redis","synthetic":false,"types":["tests_migrate::settings::Redis"]},{"text":"impl Debug for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; +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 Secret","synthetic":false,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 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 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 StatsUnixTimestamp","synthetic":false,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Debug for Stats","synthetic":false,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Debug for StatsPayload","synthetic":false,"types":["mcaptcha::stats::fetch::StatsPayload"]}]; +implementors["tests_migrate"] = [{"text":"impl Debug for Server","synthetic":false,"types":["tests_migrate::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Debug for DefaultDifficultyStrategy","synthetic":false,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Debug for Smtp","synthetic":false,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Debug for DatabaseBuilder","synthetic":false,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Debug for Database","synthetic":false,"types":["tests_migrate::settings::Database"]},{"text":"impl Debug for Redis","synthetic":false,"types":["tests_migrate::settings::Redis"]},{"text":"impl Debug for Settings","synthetic":false,"types":["tests_migrate::settings::Settings"]}]; 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 5f5f4f05..6b242f17 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -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 ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; +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 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 26f95268..78d9de67 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Freeze for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Freeze for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Freeze for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Freeze for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Freeze for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Freeze for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Freeze for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; +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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Freeze for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Freeze for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Freeze for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Freeze for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Freeze for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Freeze for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Freeze for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Freeze for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Freeze for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; 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 28152a6c..ef140fbd 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Send for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Send for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Send for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Send for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Send for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Send for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Send for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Send for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; +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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Send for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Send for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Send for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Send for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Send for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Send for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Send for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Send for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Send for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Send for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; 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 40536f50..26cb19a7 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; +implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq 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.Sync.js b/implementors/core/marker/trait.Sync.js index 11238947..8d2e8d5b 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Sync for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Sync for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Sync for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Sync for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Sync for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Sync for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Sync for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Sync for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; +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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Sync for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Sync for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Sync for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Sync for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Sync for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Sync for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Sync for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Sync for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Sync for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Sync for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; 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 4cd586e3..f3da9ac3 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Unpin for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Unpin for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Unpin for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Unpin for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Unpin for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Unpin for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Unpin for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; +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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl Unpin for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl Unpin for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl Unpin for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl Unpin for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl Unpin for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl Unpin for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl Unpin for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl Unpin for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl Unpin for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; 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 66281580..ddbfbbd0 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,4 +1,4 @@ (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["tests_migrate"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":["tests_migrate::SETTINGS"]}]; +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["tests_migrate"] = [{"text":"impl Deref for SETTINGS","synthetic":false,"types":["tests_migrate::SETTINGS"]}]; 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 b9c9d3e9..f0c8d59f 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl RefUnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl RefUnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl RefUnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl RefUnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl RefUnwindSafe for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl RefUnwindSafe for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; +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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl RefUnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl RefUnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl RefUnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl RefUnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl RefUnwindSafe for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl RefUnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl RefUnwindSafe for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; 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 c234c3b3..4624dd5e 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl UnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl UnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl UnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl UnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl UnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl UnwindSafe for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl UnwindSafe for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; +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 Secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::Secret"]},{"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 TrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPattern"]},{"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 AddNotification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotification"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::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 NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::NotificationResp"]},{"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 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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::McaptchaConfig"]},{"text":"impl UnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::Level"]},{"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 McaptchaConfig","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::McaptchaConfig"]},{"text":"impl UnwindSafe for Level","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::Level"]},{"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 StatsUnixTimestamp","synthetic":true,"types":["mcaptcha::stats::fetch::StatsUnixTimestamp"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::stats::fetch::Stats"]},{"text":"impl UnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::stats::fetch::StatsPayload"]},{"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["tests_migrate"] = [{"text":"impl UnwindSafe for Server","synthetic":true,"types":["tests_migrate::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["tests_migrate::settings::Captcha"]},{"text":"impl UnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["tests_migrate::settings::DefaultDifficultyStrategy"]},{"text":"impl UnwindSafe for Smtp","synthetic":true,"types":["tests_migrate::settings::Smtp"]},{"text":"impl UnwindSafe for DatabaseBuilder","synthetic":true,"types":["tests_migrate::settings::DatabaseBuilder"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["tests_migrate::settings::Database"]},{"text":"impl UnwindSafe for Redis","synthetic":true,"types":["tests_migrate::settings::Redis"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["tests_migrate::settings::Settings"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["tests_migrate::SETTINGS"]}]; 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 028357c8..73ca426f 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 20cc94f4..8dd20876 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 da1bca29..d336940c 100644 --- a/implementors/std/error/trait.Error.js +++ b/implementors/std/error/trait.Error.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -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 ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; +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 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/main.js b/main.js index 44f37e5d..5c0ce8ad 100644 --- a/main.js +++ b/main.js @@ -1,4 +1,4 @@ -if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}function getVar(name){var el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}(function(){window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");window.searchJS=resourcePath("search",".js");window.searchIndexJS=resourcePath("search-index",".js");var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,};var mobileLocationTitle=document.querySelector(".mobile-topbar h2.location");var locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";var MAIN_ID="main-content";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){if(!document.location.href.startsWith("file:///")){return}var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=getVar("themes").split(",");removeClass(themeChoices.parentElement,"hidden");function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:function(){return document.getElementById("search")},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:function(){if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},focus:function(){searchState.input.focus()},defocus:function(){searchState.input.blur()},showResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(main,"hidden");removeClass(search,"hidden");searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=searchState.titleBeforeSearch;if(searchState.browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:function(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},browserSupportsHistoryApi:function(){return window.history&&typeof window.history.pushState==="function"},setup:function(){var search_input=searchState.input;if(!searchState.input){return}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS);loadScript(window.searchIndexJS)}}search_input.addEventListener("focus",function(){search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!=''){loadSearch()}var params=searchState.getQueryStringParams();if(params.search!==undefined){var search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search);loadSearch()}},};function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}var toggleAllDocsId="toggle-all-docs";var main=document.getElementById(MAIN_ID);var savedHash="";function handleHashes(ev){var elem;var search=searchState.outputElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){searchState.hideResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(searchState.browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown");handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function getHelpElement(build){if(build){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=searchState.outputElement();if(help&&!hasClass(help,"hidden")){displayHelp(false,ev,help)}else if(search&&!hasClass(search,"hidden")){searchState.clearInputTimeout();ev.preventDefault();searchState.hideResults(search)}searchState.defocus();hideThemeButtonState()}var disableShortcuts=getSettingValue("disable-shortcuts")==="true";function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();searchState.focus();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i${longty}`;div.appendChild(h3);var ul=document.createElement("ul");for(var i=0,len=filtered.length;i .in-band > .trait").textContent;var baseIdName="impl-"+traitName+"-";var libs=Object.getOwnPropertyNames(imp);for(var i=0,llength=libs.length;i summary:not(.hideme)"),function(el){el.addEventListener("click",function(e){if(e.target.tagName!="SUMMARY"&&e.target.tagName!="A"){e.preventDefault()}})});onEachLazy(document.getElementsByClassName("notable-traits"),function(e){e.onclick=function(){this.getElementsByClassName('notable-traits-tooltiptext')[0].classList.toggle("force-tooltip")}});var sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){addClass(sidebar,"shown")}else{removeClass(sidebar,"shown")}})}var buildHelperPopup=function(){var popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";popup.addEventListener("click",function(ev){if(ev.target===popup){displayHelp(false,ev)}});var book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \ +if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}function getVar(name){var el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}(function(){window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");window.searchJS=resourcePath("search",".js");window.searchIndexJS=resourcePath("search-index",".js");var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,};var mobileLocationTitle=document.querySelector(".mobile-topbar h2.location");var locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";var MAIN_ID="main-content";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){if(!document.location.href.startsWith("file:///")){return}var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=getVar("themes").split(",");removeClass(themeChoices.parentElement,"hidden");function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:function(){return document.getElementById("search")},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:function(){if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},focus:function(){searchState.input.focus()},defocus:function(){searchState.input.blur()},showResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(main,"hidden");removeClass(search,"hidden");searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=searchState.titleBeforeSearch;if(searchState.browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:function(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},browserSupportsHistoryApi:function(){return window.history&&typeof window.history.pushState==="function"},setup:function(){var search_input=searchState.input;if(!searchState.input){return}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS);loadScript(window.searchIndexJS)}}search_input.addEventListener("focus",function(){search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!=''){loadSearch()}var params=searchState.getQueryStringParams();if(params.search!==undefined){var search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search);loadSearch()}},};function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}var toggleAllDocsId="toggle-all-docs";var main=document.getElementById(MAIN_ID);var savedHash="";function handleHashes(ev){var elem;var search=searchState.outputElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){searchState.hideResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(searchState.browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown");handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function getHelpElement(build){if(build){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=searchState.outputElement();if(help&&!hasClass(help,"hidden")){displayHelp(false,ev,help)}else if(search&&!hasClass(search,"hidden")){searchState.clearInputTimeout();ev.preventDefault();searchState.hideResults(search)}searchState.defocus();hideThemeButtonState()}var disableShortcuts=getSettingValue("disable-shortcuts")==="true";function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();searchState.focus();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i${longty}`;div.appendChild(h3);var ul=document.createElement("ul");for(var i=0,len=filtered.length;i .in-band > .trait").textContent;var baseIdName="impl-"+traitName+"-";var libs=Object.getOwnPropertyNames(imp);for(var i=0,llength=libs.length;i summary:not(.hideme)"),function(el){el.addEventListener("click",function(e){if(e.target.tagName!="SUMMARY"&&e.target.tagName!="A"){e.preventDefault()}})});onEachLazy(document.getElementsByClassName("notable-traits"),function(e){e.onclick=function(){this.getElementsByClassName('notable-traits-tooltiptext')[0].classList.toggle("force-tooltip")}});var sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){addClass(sidebar,"shown")}else{removeClass(sidebar,"shown")}})}var buildHelperPopup=function(){var popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";popup.addEventListener("click",function(ev){if(ev.target===popup){displayHelp(false,ev)}});var book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \ the rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(function(x){return"
"+x[0].split(" ").map(function(y,index){return(index&1)===0?""+y+"":" "+y+" "}).join("")+"
"+x[1]+"
"}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ enum, trait, type, macro, \ diff --git a/mcaptcha/all.html b/mcaptcha/all.html index a9e92e97..c6a645e2 100644 --- a/mcaptcha/all.html +++ b/mcaptcha/all.html @@ -3,5 +3,5 @@

List of all items

Structs

Enums

Macros

Functions

Typedefs

Constants

+

Crate mcaptcha

List of all items

Structs

Enums

Macros

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/mcaptcha/api/index.html b/mcaptcha/api/index.html index 821e01eb..2dfdc91b 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 9f5f4d44..16836ccd 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 fdc6b696..e1d4177b 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 ca054235..5304f17e 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 6f8b7cdd..d50ad32c 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 7026ec19..a8bcac0e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 b1595e50..d151b060 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 30ebe8e1..a8c10ef9 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 2aaf689d..2f614f43 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 d51b4272..115d3b27 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 deb51784..56a3b6b4 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 d3a5f39e..c2d9de49 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 30458352..1e512a30 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 533baf40..03fe8a2a 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 2fa659c9..de22605d 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 0b4c7cfc..41cdb3c8 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 0174b78e..78b8bd20 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

-

Performs the conversion.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 9c35260f..bd5fc8ff 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

Performs the conversion.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 1c78a478..b608e099 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 1fa2f31d..fcd71911 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 c2c3d8c4..1fd0c5f2 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 19d89bd7..5c4584b2 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 add6111c..5095571f 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.Secret.html b/mcaptcha/api/v1/account/secret/struct.Secret.html index 20306bfd..f5faeb6d 100644 --- a/mcaptcha/api/v1/account/secret/struct.Secret.html +++ b/mcaptcha/api/v1/account/secret/struct.Secret.html @@ -5,34 +5,34 @@
pub struct Secret {
-    pub secret: String,
-}

Fields

secret: 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 + pub secret: String, +}

Fields

secret: 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.

-

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 +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 WithDispatch wrapper. Read 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.get_secret.html b/mcaptcha/api/v1/account/secret/struct.get_secret.html index 639a2523..c9675a87 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 1e56ab06..337700d4 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 a34d498c..6518efb4 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 74728692..7a747bfd 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 a5ed88bb..8e2e3513 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 76d1e8bc..a2af22a4 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 59f04fc1..3538f24e 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 57b69806..6fc47da0 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 02d846a1..e45cb375 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 974cce91..a159d8f0 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 0c11d0bf..fbbccb4c 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 d83d3e4f..96042319 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 11d7b93e..f86141fc 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 0aa8288a..e0798290 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 b0321e3e..54280691 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 28a77ee4..07cdef76 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 5facd632..36847637 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 928c589f..e9bfd8d6 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 98663c50..2408e7b1 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 1896516b..b6da59fe 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 b44b4516..5eb29c0b 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 8031c5c9..dfd7f46e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 414cd6c6..dd411161 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 7b167e81..81e63054 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 ee5d6762..bd12b2aa 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 e2631edd..20927480 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 49aa0607..cb16bda0 100644 --- a/mcaptcha/api/v1/index.html +++ b/mcaptcha/api/v1/index.html @@ -6,7 +6,7 @@

Module v1

+
\ 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 87ce8cc9..afa975a3 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 8e0b8e8f..c3d2748f 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 9195d0ce..90b4efa7 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 915ec523..c24295d0 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 324f53f5..de8a6cfa 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 e25f4886..e2190fa1 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 f40ffa36..d9be2320 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 5954b950..88425407 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 f90f0c6e..cf63c57e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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.services.html b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html index 98b23ce8..97c3dc97 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 76496496..f7a03e9d 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::mcaptcha::easy

source · []

Modules

Structs

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 9dc68b62..d306ab44 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 66d54b1c..8c291397 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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.TrafficPattern.html b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPattern.html index 3efce6c1..77bc1ed4 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPattern.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPattern.html @@ -5,37 +5,37 @@
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
-    pub description: String,
-}

Fields

avg_traffic: u32peak_sustainable_traffic: u32broke_my_site_traffic: Option<u32>description: 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

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + pub avg_traffic: u32, + pub peak_sustainable_traffic: u32, + pub broke_my_site_traffic: Option<u32>, + pub description: String, +}

Fields

avg_traffic: u32peak_sustainable_traffic: u32broke_my_site_traffic: Option<u32>description: 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

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 5f1d65f8..e42fdfb4 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: TrafficPattern,
-    pub key: String,
-}

Fields

pattern: TrafficPatternkey: 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 + pub key: String, +}

Fields

pattern: TrafficPatternkey: 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.

-

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 +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 WithDispatch wrapper. Read 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 17713cfe..f1935e21 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 67e99793..74970bee 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 45c04237..01e9ce47 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 32c86646..b34113c6 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 b70d5ded..97b6c5d4 100644 --- a/mcaptcha/api/v1/mcaptcha/get/index.html +++ b/mcaptcha/api/v1/mcaptcha/get/index.html @@ -6,5 +6,5 @@

Module get

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/runner/fn.get_captcha.html b/mcaptcha/api/v1/mcaptcha/get/runner/fn.get_captcha.html index 7bbe5962..bf6a4a3f 100644 --- a/mcaptcha/api/v1/mcaptcha/get/runner/fn.get_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/get/runner/fn.get_captcha.html @@ -4,5 +4,5 @@
pub async fn get_captcha(
    key: &str,
    username: &str,
    data: &AppData
) -> Result<Vec<I32Levels>, ServiceError>
+

Function mcaptcha::api::v1::mcaptcha::get::runner::get_captcha

source · []
pub async fn get_captcha(
    key: &str,
    username: &str,
    data: &AppData
) -> Result<Vec<I32Levels>, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/runner/index.html b/mcaptcha/api/v1/mcaptcha/get/runner/index.html index ea253312..0a7faf27 100644 --- a/mcaptcha/api/v1/mcaptcha/get/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/get/runner/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 0b3ccecd..d6137544 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 e2f2e5e1..159d47f3 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.

-

Instruments this type with the provided Span, returning an +}

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.

-

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 +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 WithDispatch wrapper. Read 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 7d0df75a..93651e27 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 03d2e5b2..da2acfed 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 8a8858fd..a090753a 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 502b8c98..91a57cdb 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.

-

Instruments this type with the provided Span, returning an +}

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.

-

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 +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 WithDispatch wrapper. Read 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 e5f97f83..0a7ae145 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 fa60e3bf..6c3974a7 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 60e76483..d158352e 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 c238a191..a64493ff 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 21f9914b..eba34155 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 02fcc701..2644a701 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 bc09f125..7f0aa491 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/fn.update_key.html b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_key.html index d9719bf8..89a2e6db 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_key.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_key.html @@ -4,5 +4,5 @@
pub async fn update_key(
    key: &str,
    old_key: &str,
    username: &str,
    data: &AppData
) -> Result<(), Error>
+

Function mcaptcha::api::v1::mcaptcha::update::runner::update_key

source · []
pub async fn update_key(
    key: &str,
    old_key: &str,
    username: &str,
    data: &AppData
) -> Result<(), Error>
\ 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 437fafde..178bab55 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 a509c2f5..093904cd 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 a8f0ecbc..5ae7405a 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 44811254..6c0e2c14 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 e8cb4f37..b9d4edf9 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

-

Performs the conversion.

-

Performs the conversion.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 185f2c51..d6ba616f 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

-

Performs the conversion.

-

Performs the conversion.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 5a43fa3a..5af493f4 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 acd486db..c762c51a 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 ae5b4fd7..907b3d41 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 79c79117..6844fb26 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 fd0ea858..0227fc9b 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 b5306374..a1e25b1b 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 0097c51a..20987fb9 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 50df0ef1..427e57b5 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 a4d5829c..48d44b35 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 a6049908..ad61c203 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 55d08761..b5db68f6 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.AddNotification.html b/mcaptcha/api/v1/notifications/add/struct.AddNotification.html index ddfe8b04..c152e3ed 100644 --- a/mcaptcha/api/v1/notifications/add/struct.AddNotification.html +++ b/mcaptcha/api/v1/notifications/add/struct.AddNotification.html @@ -5,30 +5,30 @@
pub struct AddNotification {
-    pub to: String,
-    pub heading: String,
-    pub message: String,
-}

Fields

to: Stringheading: Stringmessage: 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 + pub to: String, + pub heading: String, + pub message: String, +}

Fields

to: Stringheading: Stringmessage: 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.

-

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 +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 WithDispatch wrapper. Read 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 03cb4aed..a8f83bf9 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 559f612b..620b1ec1 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 c01635f4..7aae2c18 100644 --- a/mcaptcha/api/v1/notifications/get/index.html +++ b/mcaptcha/api/v1/notifications/get/index.html @@ -7,5 +7,5 @@

Module mcaptcha::api::v1::notifications::get

source · []

Modules

Structs

route handler that gets all unread notifications

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/runner/fn.get_notification.html b/mcaptcha/api/v1/notifications/get/runner/fn.get_notification.html index 1d5e1f56..8a9a0d12 100644 --- a/mcaptcha/api/v1/notifications/get/runner/fn.get_notification.html +++ b/mcaptcha/api/v1/notifications/get/runner/fn.get_notification.html @@ -4,5 +4,5 @@
pub async fn get_notification(
    data: &AppData,
    receiver: &str
) -> Result<Vec<Notification>, ServiceError>
+

Function mcaptcha::api::v1::notifications::get::runner::get_notification

source · []
pub async fn get_notification(
    data: &AppData,
    receiver: &str
) -> Result<Vec<Notification>, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/runner/index.html b/mcaptcha/api/v1/notifications/get/runner/index.html index b6c0c618..60916f5c 100644 --- a/mcaptcha/api/v1/notifications/get/runner/index.html +++ b/mcaptcha/api/v1/notifications/get/runner/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/struct.Notification.html b/mcaptcha/api/v1/notifications/get/struct.Notification.html index 2341bc1b..b4d13269 100644 --- a/mcaptcha/api/v1/notifications/get/struct.Notification.html +++ b/mcaptcha/api/v1/notifications/get/struct.Notification.html @@ -3,34 +3,34 @@

+

Notification

pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<OffsetDateTime>,
-    pub id: Option<i32>,
-}

Fields

name: Option<String>heading: Option<String>message: Option<String>received: Option<OffsetDateTime>id: Option<i32>

Trait Implementations

Performs the conversion.

-

Performs the conversion.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + pub name: Option<String>, + pub heading: Option<String>, + pub message: Option<String>, + pub received: Option<OffsetDateTime>, + pub id: Option<i32>, +}

Fields

name: Option<String>heading: Option<String>message: Option<String>received: Option<OffsetDateTime>id: Option<i32>

Trait Implementations

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.

-

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 +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 WithDispatch wrapper. Read 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.NotificationResp.html b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html index ecc4925f..6389aebd 100644 --- a/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html +++ b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html @@ -5,33 +5,33 @@
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

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Performs the conversion.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + pub name: String, + pub heading: String, + pub message: String, + pub received: i64, + pub id: i32, +}

Fields

name: Stringheading: Stringmessage: Stringreceived: i64id: i32

Trait Implementations

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.

-

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 +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 WithDispatch wrapper. Read 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 7b7ca33f..21a66d1b 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 2fa090d1..d6140569 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 63e37f1e..8d2f2997 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 9052a65e..f2a7264f 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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.NotificationResp.html b/mcaptcha/api/v1/notifications/mark_read/struct.NotificationResp.html index 287b5b87..b79f7418 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.NotificationResp.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.NotificationResp.html @@ -5,32 +5,32 @@
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

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 + pub name: String, + pub heading: String, + pub message: String, + pub received: i64, + pub id: i32, +}

Fields

name: Stringheading: Stringmessage: Stringreceived: i64id: 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.

-

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 +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 WithDispatch wrapper. Read 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 fdd93c90..3164c264 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 2b8c3f34..4f4b0152 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 133ff933..f7f0b2a3 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 604baff6..1b461076 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 82ead6a6..f86015cb 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 @@
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 · []
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 5b9efbf8..37037f75 100644 --- a/mcaptcha/api/v1/pow/get_config/index.html +++ b/mcaptcha/api/v1/pow/get_config/index.html @@ -7,6 +7,6 @@

Module mcaptcha::api::v1::pow::get_config

source · []

Structs

get PoW configuration for an mcaptcha key

Functions

-

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

-
+

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 354f6c62..745d88e0 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 451ef510..52f55b86 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 5189536f..afb6d022 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 777710e2..5bfbe272 100644 --- a/mcaptcha/api/v1/pow/routes/index.html +++ b/mcaptcha/api/v1/pow/routes/index.html @@ -5,6 +5,6 @@
+
rm_scope 🔒

Structs

+
\ 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 3480b58c..12ddfb28 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 dd0738fc..6788df21 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 22d62ace..0ff13ebc 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 fa694e46..c9ca1d77 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 656d6071..b4d6ef1d 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 9e0311ee..ab93ee43 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 99355514..bb3904b6 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 23c0fea1..5f3fd14d 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 3fdeba31..fced104f 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 04382eaa..2d6c0f7b 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 b6876525..b229b238 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.

-

Instruments this type with the provided Span, returning an +}

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.

-

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 +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 WithDispatch wrapper. Read 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 e4aba41b..63a094f4 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 b19bbefe..3c4bad72 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 bd305c71..3df60197 100644 --- a/mcaptcha/constant.COMPILED_DATE.html +++ b/mcaptcha/constant.COMPILED_DATE.html @@ -4,5 +4,5 @@
pub const COMPILED_DATE: &str = "22-05-19";
+

Constant mcaptcha::COMPILED_DATE

source · []
pub const COMPILED_DATE: &str = "22-05-20";
\ No newline at end of file diff --git a/mcaptcha/constant.DOCS.html b/mcaptcha/constant.DOCS.html index 40a86d3e..1711438a 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 b9d99af9..aa157c17 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 = "8b7164635da29ba04799ac59cc1c00d35577d4db";
+

Constant mcaptcha::GIT_COMMIT_HASH

source · []
pub const GIT_COMMIT_HASH: &str = "8b7164635da29ba04799ac59cc1c00d35577d4db";
\ No newline at end of file diff --git a/mcaptcha/constant.PAGES.html b/mcaptcha/constant.PAGES.html index 880663b6..c744e4ff 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 51a7ba27..bc5631fe 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 9e19812f..72046945 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 2b761d65..de5ecd60 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 9a4aa2b4..27c06dce 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 1c82db6c..e9aad8fb 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 29a977a4..8293092d 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 0e717f36..858a32ee 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 27e4275d..08c7b31c 100644 --- a/mcaptcha/data/index.html +++ b/mcaptcha/data/index.html @@ -6,7 +6,7 @@

Module data

Expand description

App data: redis cache, database connections, etc.

Macros

-

Structs

+

Structs

App data

Enums

Represents mCaptcha cache and master system. @@ -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 6d69beb4..85aa4078 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 a185fbfe..03d36ff5 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 cfaaadc9..4bd5b1e6 100644 --- a/mcaptcha/data/struct.Data.html +++ b/mcaptcha/data/struct.Data.html @@ -8,32 +8,32 @@ pub db: PgPool, pub creds: Config, pub captcha: SystemGroup, - pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>, + pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>, }
Expand description

App data

Fields

db: PgPool

databse pool

creds: Config

credential management configuration

captcha: SystemGroup

mCaptcha system: Redis cache, etc.

-
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

-

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 +

mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

+

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.

-

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 +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 WithDispatch wrapper. Read 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 3ab3322d..b393d5f7 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 198b4d46..45dc19e9 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 2a4940aa..f9e63267 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 32b3e4a2..d7f29edd 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 91177655..7a69a3c1 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 43ef36b5..a15eb470 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 dab1e612..0dbedbac 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.

-

Instruments this type with the provided Span, returning an +}

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.

-

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 +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 WithDispatch wrapper. Read 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 4c30ab10..5cb4a9a6 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 cf05da02..11d37f0d 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 c88186bd..50dc1ab4 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 c8f6b7f3..e8fc31de 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 92af1f8f..065c3981 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 6c8d288a..81d39052 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 b6a81186..c625021e 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 bf362318..bffc6d64 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 64cfefd9..486da9d9 100644 --- a/mcaptcha/docs/index.html +++ b/mcaptcha/docs/index.html @@ -6,7 +6,7 @@

Module docs

+

Constants

+

Functions

+
\ No newline at end of file diff --git a/mcaptcha/docs/routes/index.html b/mcaptcha/docs/routes/index.html index c89e7366..089846e8 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 b8d4f8e3..d05a8789 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 60ad9817..d636e5aa 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.

-

Instruments this type with the provided Span, returning an +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 6d7ac78f..753e0e5e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 86d9b56c..9919555b 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 9dfb1361..4db5acd2 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 76bb8a18..4610e00c 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 7299bb0a..0180927d 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 7c5d6460..db5b98ca 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 ccbd29c2..4a4cfca9 100644 --- a/mcaptcha/email/verification/index.html +++ b/mcaptcha/email/verification/index.html @@ -6,7 +6,7 @@

Module verification

Expand description

Email operations: verification, notification, etc

Structs

-

Constants

-

Functions

-
+
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 a5f41282..ccb2139f 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 579a4b64..071b9cdd 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

-

Performs the conversion.

-

Performs the conversion.

-

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.

-

Instruments this type with the provided Span, returning an +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 a6a12b91..48340855 100644 --- a/mcaptcha/errors/enum.ServiceError.html +++ b/mcaptcha/errors/enum.ServiceError.html @@ -3,7 +3,7 @@

+

ServiceError

pub enum ServiceError {
 
Show 18 variants InternalServerError, ClosedForRegistration, @@ -34,46 +34,46 @@ profile

UnableToSendEmail(SmtpErrorWrapper)

Unable to send email

TokenNotFound

when the a token name is already taken token not found

-

CaptchaError(CaptchaError)

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

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

Performs the conversion.

-

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

-

This method tests for !=.

+

CaptchaError(CaptchaError)

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.

-

Instruments this type with the provided Span, returning an +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 c061a371..70489b89 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.ErrorToResponse.html b/mcaptcha/errors/struct.ErrorToResponse.html index bc96fe87..e69bbcfe 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 de3dd8f1..e45013eb 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 9e407dca..a0fbfb4e 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 8aa412d3..209598d7 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 25758fbd..3d1d4e79 100644 --- a/mcaptcha/fn.get_identity_service.html +++ b/mcaptcha/fn.get_identity_service.html @@ -4,5 +4,5 @@
pub fn get_identity_service() -> IdentityService<CookieIdentityPolicy>
+

Function mcaptcha::get_identity_service

source · []
pub fn get_identity_service() -> 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 f1e9603b..b45b6187 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 d9749944..fdd384cf 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 52e453b8..29f89fdd 100644 --- a/mcaptcha/index.html +++ b/mcaptcha/index.html @@ -5,13 +5,13 @@
+

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 11517d6c..9c32540a 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 5bb563a4..f46aff84 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 1efa1a73..45fdc4f5 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 7cff790c..aa646262 100644 --- a/mcaptcha/pages/auth/login/index.html +++ b/mcaptcha/pages/auth/login/index.html @@ -5,6 +5,6 @@
+
INDEX 🔒
IndexPage 🔒

Constants

+
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 e05c3871..25087e4f 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 6390f364..1b3fc1fe 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 0c101441..feadd766 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 6a358448..0dfdb8ce 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 eb7a69ba..b51382c4 100644 --- a/mcaptcha/pages/auth/register/index.html +++ b/mcaptcha/pages/auth/register/index.html @@ -5,6 +5,6 @@
+
INDEX 🔒
IndexPage 🔒

Constants

+
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 127b3935..3c32348d 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 7e44e703..e13c6152 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 ce8a33da..cedbd17a 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 32accfab..5b0309bc 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 19185cee..1232c451 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 27e2562b..2673abe5 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 4bfc72f1..8292fae5 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 f1556261..1cdbbcca 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 733416c2..28e57ccf 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 40b11ccc..0973c610 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 f47bd6e4..8576fb7f 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 ade539b9..ef25b0fa 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 e9311617..55e8c814 100644 --- a/mcaptcha/pages/errors/index.html +++ b/mcaptcha/pages/errors/index.html @@ -6,7 +6,7 @@

Module errors

+

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 59ebedbc..d17b838e 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 96d4f3d1..5f89a48b 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 a83c1d20..f6b0564d 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 57978b0a..630d9eee 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 7f4247e0..aac990ff 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 938dae2f..43c5eb5f 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 43326301..cd436746 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 4b369ed0..8b137a2b 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 08a80812..8ede4df6 100644 --- a/mcaptcha/pages/index.html +++ b/mcaptcha/pages/index.html @@ -5,7 +5,7 @@
+
\ No newline at end of file diff --git a/mcaptcha/pages/panel/constant.PAGE.html b/mcaptcha/pages/panel/constant.PAGE.html index b468a886..9ccad14f 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 453d5ddd..aa4c20c3 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 ff5908f5..1aaf117a 100644 --- a/mcaptcha/pages/panel/index.html +++ b/mcaptcha/pages/panel/index.html @@ -5,8 +5,8 @@
+
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 cca8f39a..9a080f4b 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 ba64a1a2..0262c84b 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 6d2d5db7..1a78f09b 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 87711f3f..cb2f7b97 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

Performs the conversion.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 0d3faed7..ed00f6e3 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 59b5a975..9e96aa77 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 2c14bb2a..d8537b38 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.

-

Instruments this type with the provided Span, returning an +}

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.

-

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 +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 WithDispatch wrapper. Read 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 db4b3128..4fa5f36e 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 5fee80d8..9f289ce1 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 34a825a1..f0cd1395 100644 --- a/mcaptcha/pages/panel/settings/index.html +++ b/mcaptcha/pages/panel/settings/index.html @@ -7,6 +7,6 @@

Module mcaptcha::pages::panel::settings

source · []

Modules

Structs

Constants

-

Functions

-
+
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 68869890..86f6e012 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 6550b17e..06be8310 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 4801f5cf..8d602e98 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 afd3228d..6a2a32f6 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 7a7722e2..75ed88da 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 f28d5b56..61a3484d 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 e648f57d..4ba66d2b 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 c6d4da3d..82220a47 100644 --- a/mcaptcha/pages/panel/sitekey/add/index.html +++ b/mcaptcha/pages/panel/sitekey/add/index.html @@ -5,6 +5,6 @@
+

Constants

+
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 d3a851bb..85dd60f1 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 67d2823f..eeba0a3e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 f411f8f8..627f3985 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 be742e3e..6cf9915b 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 6afb090b..bfa45be1 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 84772588..52857986 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 330d31db..6bb74bd5 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 a0523ba1..e446dc31 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 ba0f53ba..00fb5d59 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 1dc39532..a135b23a 100644 --- a/mcaptcha/pages/panel/sitekey/edit/index.html +++ b/mcaptcha/pages/panel/sitekey/edit/index.html @@ -5,8 +5,8 @@

Structs

-

route handler that renders individual views for sitekeys

+
Level 🔒

route handler that renders individual views for sitekeys

route handler that renders individual views for sitekeys

Constants

-
+
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 70779a9e..0fc1d44e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 0c40fce1..ada65c19 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: TrafficPattern,
-    pub key: String,
-}

Fields

form_title: &'a strpattern: TrafficPatternkey: 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: TrafficPatternkey: 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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.Level.html b/mcaptcha/pages/panel/sitekey/edit/struct.Level.html index c68dbbaf..3823d01c 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.Level.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.Level.html @@ -5,32 +5,32 @@
struct Level {
-    difficulty_factor: i32,
-    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

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + difficulty_factor: i32, + 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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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.McaptchaConfig.html b/mcaptcha/pages/panel/sitekey/edit/struct.McaptchaConfig.html index 6748793b..44da34ae 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.McaptchaConfig.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.McaptchaConfig.html @@ -5,33 +5,33 @@
struct McaptchaConfig {
-    config_id: i32,
-    duration: i32,
-    name: String,
-}

Fields

config_id: i32duration: i32name: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + config_id: i32, + duration: i32, + name: String, +}

Fields

config_id: i32duration: i32name: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 a1cc9fe6..608cf31e 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 51076d67..a060b6f1 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 7fe90bd0..afd97a6c 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 fb8fa632..14b1397e 100644 --- a/mcaptcha/pages/panel/sitekey/index.html +++ b/mcaptcha/pages/panel/sitekey/index.html @@ -5,6 +5,6 @@
+
add 🔒
delete 🔒
edit 🔒
view 🔒

Functions

+
\ 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 891e156b..417d566c 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/fn.get_list_sitekeys.html b/mcaptcha/pages/panel/sitekey/list/fn.get_list_sitekeys.html index f72b8f0a..fae6a387 100644 --- a/mcaptcha/pages/panel/sitekey/list/fn.get_list_sitekeys.html +++ b/mcaptcha/pages/panel/sitekey/list/fn.get_list_sitekeys.html @@ -4,6 +4,6 @@
pub async fn get_list_sitekeys(
    data: &AppData,
    id: &Identity
) -> Result<Vec<MCaptchaDetails>, PageError>
Expand description

utility function to get a list of all sitekeys that a user owns

-
+

Function mcaptcha::pages::panel::sitekey::list::get_list_sitekeys

source · []
pub async fn get_list_sitekeys(
    data: &AppData,
    id: &Identity
) -> Result<Vec<MCaptchaDetails>, PageError>
Expand description

utility function to get a list of all sitekeys that a user owns

+
\ 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 32b98170..127d8fbc 100644 --- a/mcaptcha/pages/panel/sitekey/list/index.html +++ b/mcaptcha/pages/panel/sitekey/list/index.html @@ -7,8 +7,8 @@

Module mcaptcha::pages::panel::sitekey::list

source · []

Structs

render a list of all sitekeys that a user has

Constants

-

Functions

+
PAGE 🔒

Functions

utility function to get a list of all sitekeys that a user owns

Type Definitions

-
+
\ 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 5c1baaf2..b9e64815 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<MCaptchaDetails>,
-}

Fields

sitekeys: Vec<MCaptchaDetails>

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

+ sitekeys: Vec<MCaptchaDetails>, +}

Fields

sitekeys: Vec<MCaptchaDetails>

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 +

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.

-

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 +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 WithDispatch wrapper. Read 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 592949ac..410c9b56 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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/type.SiteKeys.html b/mcaptcha/pages/panel/sitekey/list/type.SiteKeys.html index 701c3b8b..2f7eb69c 100644 --- a/mcaptcha/pages/panel/sitekey/list/type.SiteKeys.html +++ b/mcaptcha/pages/panel/sitekey/list/type.SiteKeys.html @@ -4,5 +4,5 @@
-

Type Definition mcaptcha::pages::panel::sitekey::list::SiteKeys

source · []
pub type SiteKeys = Vec<MCaptchaDetails>;
+

Type Definition mcaptcha::pages::panel::sitekey::list::SiteKeys

source · []
pub type SiteKeys = Vec<MCaptchaDetails>;
\ 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 afe30236..09d93d87 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 9d8d08ea..51719b6d 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 c76837d6..6fdf9975 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 bfac4a43..252128a4 100644 --- a/mcaptcha/pages/panel/sitekey/view/index.html +++ b/mcaptcha/pages/panel/sitekey/view/index.html @@ -5,7 +5,7 @@

Structs

-

route handler that renders individual views for sitekeys

+
IndexPage 🔒
Level 🔒

route handler that renders individual views for sitekeys

Constants

-
+
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 8f33c67a..566d9fec 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: Stats,
-}

Fields

duration: u32name: Stringkey: Stringlevels: Vec<Level>stats: Stats

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: Stats

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 +

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.

-

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 +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 WithDispatch wrapper. Read 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.Level.html b/mcaptcha/pages/panel/sitekey/view/struct.Level.html index e22f8962..021d62f8 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.Level.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.Level.html @@ -5,32 +5,32 @@
struct Level {
-    difficulty_factor: i32,
-    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

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + difficulty_factor: i32, + 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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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.McaptchaConfig.html b/mcaptcha/pages/panel/sitekey/view/struct.McaptchaConfig.html index a0c636e2..a25da84f 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.McaptchaConfig.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.McaptchaConfig.html @@ -5,33 +5,33 @@
struct McaptchaConfig {
-    config_id: i32,
-    duration: i32,
-    name: String,
-}

Fields

config_id: i32duration: i32name: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + config_id: i32, + duration: i32, + name: String, +}

Fields

config_id: i32duration: i32name: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 c97cc480..42c1b3f0 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 8e814a7d..ad8693c3 100644 --- a/mcaptcha/pages/panel/struct.IndexPage.html +++ b/mcaptcha/pages/panel/struct.IndexPage.html @@ -5,33 +5,33 @@
pub struct IndexPage {
-    sitekeys: Vec<MCaptchaDetails>,
-}

Fields

sitekeys: Vec<MCaptchaDetails>

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

+ sitekeys: Vec<MCaptchaDetails>, +}

Fields

sitekeys: Vec<MCaptchaDetails>

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 +

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.

-

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 +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 WithDispatch wrapper. Read 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 6eac0558..1a8bbd4d 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 a4a27e13..9e2a4e5e 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 cf3eddf2..e1e86cf6 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 151b2f70..fb8ca38e 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 e0b34a47..34014906 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 7d2a6007..bab287ea 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 bd3833c4..8eabcf20 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 88089004..cd9b4016 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 f3f9b9db..19bac0c6 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 76f11197..f2966f27 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 5ec937a7..ffc779d4 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 8ca448db..1ba8388c 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 44272db8..d8d5bd76 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 e5142ea5..ebbf4752 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -5,6 +5,6 @@
+

Functions

+
\ No newline at end of file diff --git a/mcaptcha/settings/struct.Captcha.html b/mcaptcha/settings/struct.Captcha.html index c11f9a47..a11348b9 100644 --- a/mcaptcha/settings/struct.Captcha.html +++ b/mcaptcha/settings/struct.Captcha.html @@ -5,35 +5,35 @@
pub struct Captcha {
-    pub salt: String,
-    pub gc: u64,
+    pub salt: String,
+    pub gc: u64,
     pub default_difficulty_strategy: DefaultDifficultyStrategy,
-}

Fields

salt: Stringgc: u64default_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 +}

Fields

salt: Stringgc: u64default_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.

-

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 +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 WithDispatch wrapper. Read 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 8dfcc463..2aa1d872 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 a4e93adf..54644491 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 13dbbee9..0101d80c 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 6db8b8a6..848e8909 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 20bc6960..259f7707 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 0511e98e..6a2d075b 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 e6a35755..324fac3d 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 a0e7eac7..8b2c0004 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 f2337b5a..c0e5d58c 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.

-

Instruments this type with the provided Span, returning an +}

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.

-

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 +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 WithDispatch wrapper. Read 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 4cb72f71..06161212 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 d457175b..0180ac34 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 186499cb..6be2d9da 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 9e499c87..bcfd6533 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 ddf2ab46..20229b09 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 7ff80cb8..33b8bc70 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 e726cf14..5faef8dd 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 8f9db240..06ab4cd6 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 167d1362..c26fbe54 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 fdcafeba..2e8b671e 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 a7ebc268..d49e5256 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 e384924e..b62fa081 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 c402084e..58b322f7 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 90087e34..da3730e0 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 abfeb48f..d536b99f 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 c8b0d294..6f2ad56b 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 f49ce120..c24f7b55 100644 --- a/mcaptcha/static_assets/static_files/index.html +++ b/mcaptcha/static_assets/static_files/index.html @@ -6,6 +6,6 @@

Module static_files

+

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 7c016782..996e93f6 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.

-

Instruments this type with the provided Span, returning an +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 78556826..fc9763b7 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.

-

Instruments this type with the provided Span, returning an +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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 193ebc25..2a6b4aeb 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 0a731453..456bf512 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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/fetch/index.html b/mcaptcha/stats/fetch/index.html index 082e927c..f1dd941f 100644 --- a/mcaptcha/stats/fetch/index.html +++ b/mcaptcha/stats/fetch/index.html @@ -6,5 +6,5 @@

Module fetch

+
\ No newline at end of file diff --git a/mcaptcha/stats/fetch/runners/fn.fetch_config_fetched.html b/mcaptcha/stats/fetch/runners/fn.fetch_config_fetched.html index abf47738..2d4fa162 100644 --- a/mcaptcha/stats/fetch/runners/fn.fetch_config_fetched.html +++ b/mcaptcha/stats/fetch/runners/fn.fetch_config_fetched.html @@ -4,6 +4,6 @@
pub async fn fetch_config_fetched(
    user: &str,
    key: &str,
    db: &PgPool
) -> Result<Vec<Date>, ServiceError>
Expand description

featch PoWConfig fetches

-
+

Function mcaptcha::stats::fetch::runners::fetch_config_fetched

source · []
pub async fn fetch_config_fetched(
    user: &str,
    key: &str,
    db: &PgPool
) -> Result<Vec<Date>, ServiceError>
Expand description

featch PoWConfig fetches

+
\ No newline at end of file diff --git a/mcaptcha/stats/fetch/runners/fn.fetch_confirm.html b/mcaptcha/stats/fetch/runners/fn.fetch_confirm.html index c37c572c..0b8f946e 100644 --- a/mcaptcha/stats/fetch/runners/fn.fetch_confirm.html +++ b/mcaptcha/stats/fetch/runners/fn.fetch_confirm.html @@ -4,6 +4,6 @@
pub async fn fetch_confirm(
    user: &str,
    key: &str,
    db: &PgPool
) -> Result<Vec<Date>, ServiceError>
Expand description

featch PoWConfig confirms

-
+

Function mcaptcha::stats::fetch::runners::fetch_confirm

source · []
pub async fn fetch_confirm(
    user: &str,
    key: &str,
    db: &PgPool
) -> Result<Vec<Date>, ServiceError>
Expand description

featch PoWConfig confirms

+
\ No newline at end of file diff --git a/mcaptcha/stats/fetch/runners/fn.fetch_solve.html b/mcaptcha/stats/fetch/runners/fn.fetch_solve.html index bf44a8fb..06cf0d9b 100644 --- a/mcaptcha/stats/fetch/runners/fn.fetch_solve.html +++ b/mcaptcha/stats/fetch/runners/fn.fetch_solve.html @@ -4,6 +4,6 @@
pub async fn fetch_solve(
    user: &str,
    key: &str,
    db: &PgPool
) -> Result<Vec<Date>, ServiceError>
Expand description

featch PoWConfig solves

-
+

Function mcaptcha::stats::fetch::runners::fetch_solve

source · []
pub async fn fetch_solve(
    user: &str,
    key: &str,
    db: &PgPool
) -> Result<Vec<Date>, ServiceError>
Expand description

featch PoWConfig solves

+
\ No newline at end of file diff --git a/mcaptcha/stats/fetch/runners/index.html b/mcaptcha/stats/fetch/runners/index.html index a2bab792..049dfa3a 100644 --- a/mcaptcha/stats/fetch/runners/index.html +++ b/mcaptcha/stats/fetch/runners/index.html @@ -8,5 +8,5 @@

featch PoWConfig fetches

featch PoWConfig confirms

featch PoWConfig solves

-
+
\ No newline at end of file diff --git a/mcaptcha/stats/fetch/struct.Stats.html b/mcaptcha/stats/fetch/struct.Stats.html index b7d1096b..91c53774 100644 --- a/mcaptcha/stats/fetch/struct.Stats.html +++ b/mcaptcha/stats/fetch/struct.Stats.html @@ -5,34 +5,34 @@
pub struct Stats {
-    pub config_fetches: Vec<Date>,
-    pub solves: Vec<Date>,
-    pub confirms: Vec<Date>,
-}

Fields

config_fetches: Vec<Date>solves: Vec<Date>confirms: Vec<Date>

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

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an + pub config_fetches: Vec<Date>, + pub solves: Vec<Date>, + pub confirms: Vec<Date>, +}

Fields

config_fetches: Vec<Date>solves: Vec<Date>confirms: Vec<Date>

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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

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

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

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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 +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 WithDispatch wrapper. Read 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/fetch/struct.StatsPayload.html b/mcaptcha/stats/fetch/struct.StatsPayload.html index fc33d2cb..4072f092 100644 --- a/mcaptcha/stats/fetch/struct.StatsPayload.html +++ b/mcaptcha/stats/fetch/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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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/fetch/struct.StatsUnixTimestamp.html b/mcaptcha/stats/fetch/struct.StatsUnixTimestamp.html index b174036a..57329729 100644 --- a/mcaptcha/stats/fetch/struct.StatsUnixTimestamp.html +++ b/mcaptcha/stats/fetch/struct.StatsUnixTimestamp.html @@ -5,37 +5,37 @@
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64>,
-    pub solves: Vec<i64>,
-    pub confirms: Vec<i64>,
-}

Fields

config_fetches: Vec<i64>solves: Vec<i64>confirms: Vec<i64>

Implementations

featch PoWConfig confirms

-

Trait Implementations

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 + pub config_fetches: Vec<i64>, + pub solves: Vec<i64>, + pub confirms: Vec<i64>, +}

Fields

config_fetches: Vec<i64>solves: Vec<i64>confirms: Vec<i64>

Implementations

featch PoWConfig confirms

+

Trait Implementations

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.

-

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 +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 WithDispatch wrapper. Read 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 0d2872dc..bc93c049 100644 --- a/mcaptcha/stats/index.html +++ b/mcaptcha/stats/index.html @@ -5,5 +5,5 @@
+
\ No newline at end of file diff --git a/mcaptcha/stats/record/fn.record_confirm.html b/mcaptcha/stats/record/fn.record_confirm.html index 7992c86f..4735a863 100644 --- a/mcaptcha/stats/record/fn.record_confirm.html +++ b/mcaptcha/stats/record/fn.record_confirm.html @@ -4,6 +4,6 @@
pub async fn record_confirm(key: &str, db: &PgPool)
Expand description

record PoWConfig confirms

-
+

Function mcaptcha::stats::record::record_confirm

source · []
pub async fn record_confirm(key: &str, db: &PgPool)
Expand description

record PoWConfig confirms

+
\ No newline at end of file diff --git a/mcaptcha/stats/record/fn.record_fetch.html b/mcaptcha/stats/record/fn.record_fetch.html index 93b8a8b0..9eeb0ae1 100644 --- a/mcaptcha/stats/record/fn.record_fetch.html +++ b/mcaptcha/stats/record/fn.record_fetch.html @@ -4,6 +4,6 @@
pub async fn record_fetch(key: &str, db: &PgPool)
Expand description

record PoWConfig fetches

-
+

Function mcaptcha::stats::record::record_fetch

source · []
pub async fn record_fetch(key: &str, db: &PgPool)
Expand description

record PoWConfig fetches

+
\ No newline at end of file diff --git a/mcaptcha/stats/record/fn.record_solve.html b/mcaptcha/stats/record/fn.record_solve.html index 98d489e4..a2faf8d0 100644 --- a/mcaptcha/stats/record/fn.record_solve.html +++ b/mcaptcha/stats/record/fn.record_solve.html @@ -4,6 +4,6 @@
pub async fn record_solve(key: &str, db: &PgPool)
Expand description

record PoWConfig solves

-
+

Function mcaptcha::stats::record::record_solve

source · []
pub async fn record_solve(key: &str, db: &PgPool)
Expand description

record PoWConfig solves

+
\ No newline at end of file diff --git a/mcaptcha/stats/record/index.html b/mcaptcha/stats/record/index.html index 93f0bb6d..780460dd 100644 --- a/mcaptcha/stats/record/index.html +++ b/mcaptcha/stats/record/index.html @@ -8,5 +8,5 @@

record PoWConfig confirms

record PoWConfig fetches

record PoWConfig solves

-
+
\ No newline at end of file diff --git a/mcaptcha/struct.BAR_CHART.html b/mcaptcha/struct.BAR_CHART.html index b260a748..1f7fd6d6 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 5d895cf1..8c38b7ca 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 13757fb0..ef97f3ce 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.

Examples
@@ -763,7 +763,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

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.

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,28 +984,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1017,12 +1017,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1034,12 +1034,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 46f3389d..cdca64c5 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 d791f192..0f6243d0 100644 --- a/mcaptcha/struct.Data.html +++ b/mcaptcha/struct.Data.html @@ -8,32 +8,32 @@ pub db: PgPool, pub creds: Config, pub captcha: SystemGroup, - pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>, + pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>, }
Expand description

App data

Fields

db: PgPool

databse pool

creds: Config

credential management configuration

captcha: SystemGroup

mCaptcha system: Redis cache, etc.

-
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

-

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 +

mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

+

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.

-

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 +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 WithDispatch wrapper. Read 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 df876501..20e689a4 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 11e292fc..d348932c 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 592efc4b..3d8e3301 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 acf4e362..9dab5939 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 59bb181d..ab179caf 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.

Examples
@@ -763,7 +763,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

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.

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,28 +984,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1017,12 +1017,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1034,12 +1034,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 7a73afde..fa92444d 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 01c7b33e..4775251e 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 59383894..8db51856 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 c2074d5b..37b48f62 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.

Examples
@@ -763,7 +763,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

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.

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,28 +984,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1017,12 +1017,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1034,12 +1034,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 18a6dc0e..d4fe15ab 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 30c149a5..f562b7f0 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.

-

Instruments this type with the provided Span, returning an + __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.

-

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 +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 WithDispatch wrapper. Read 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 585a4680..176580f8 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,27 +116,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("🗻∈🌏");
 
@@ -148,7 +148,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 @@ -167,15 +167,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:

@@ -198,12 +198,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 @@ -217,10 +217,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.

@@ -243,7 +243,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̆";
 
@@ -253,12 +253,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:

@@ -279,7 +279,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";
 
@@ -293,7 +293,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
@@ -307,12 +307,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:

@@ -333,10 +333,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:

@@ -357,7 +357,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 @@ -386,9 +386,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:

@@ -398,10 +398,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:

@@ -410,10 +410,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:

@@ -422,10 +422,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:

@@ -434,10 +434,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:

@@ -461,10 +461,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:

@@ -486,16 +486,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:

@@ -558,12 +558,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."
@@ -576,15 +576,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:

@@ -603,20 +603,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:

@@ -628,11 +628,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.

@@ -640,7 +640,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();
@@ -651,16 +651,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:

@@ -680,17 +680,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:

@@ -706,28 +706,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:

@@ -736,15 +736,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:

@@ -753,18 +753,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:

@@ -776,17 +776,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:

@@ -798,7 +798,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.

Examples
@@ -807,7 +807,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -827,7 +827,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.

Text directionality
@@ -847,7 +847,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.

@@ -869,7 +869,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.

@@ -891,9 +891,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:

@@ -906,9 +906,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 @@ -923,29 +923,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 @@ -963,10 +963,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 @@ -981,10 +981,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 @@ -1002,15 +1002,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

@@ -1028,28 +1028,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1061,12 +1061,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1078,12 +1078,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1095,8 +1095,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
@@ -1109,8 +1109,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
@@ -1124,11 +1124,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:

@@ -1151,11 +1151,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:

@@ -1173,7 +1173,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
@@ -1184,49 +1184,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 47627a43..182cd402 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 5b747def..4c702cdc 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.

Examples
@@ -763,7 +763,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

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.

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,28 +984,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1017,12 +1017,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1034,12 +1034,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 0ff431ef..9b872e3f 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.

Examples
@@ -763,7 +763,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

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.

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,28 +984,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1017,12 +1017,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1034,12 +1034,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 243b44af..b387b61c 100644 --- a/mcaptcha/type.AppData.html +++ b/mcaptcha/type.AppData.html @@ -4,5 +4,5 @@
-

Type Definition mcaptcha::AppData

source · []
pub type AppData = Data<Arc<Data>>;
+

Type Definition mcaptcha::AppData

source · []
pub type AppData = Data<Arc<Data>>;
\ No newline at end of file diff --git a/mcaptcha/widget/constant.PAGE.html b/mcaptcha/widget/constant.PAGE.html index 87b7ad30..da358cbf 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 32863ce1..1328ac54 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 21f6f07a..54969630 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 20c203ed..8621af12 100644 --- a/mcaptcha/widget/index.html +++ b/mcaptcha/widget/index.html @@ -7,9 +7,9 @@

Module mcaptcha::widget

source · []
Expand description

User facing CAPTCHA widget

Modules

Structs

-

render a client side widget for CAPTCHA verification

+
INDEX_PAGE 🔒

render a client side widget for CAPTCHA verification

Constants

-

Functions

+

Functions

widget services

-
+
\ No newline at end of file diff --git a/mcaptcha/widget/routes/index.html b/mcaptcha/widget/routes/index.html index cc1d393c..38e7d8e2 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 343f6e54..ad03cf35 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.

-

Instruments this type with the provided Span, returning an + 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.

-

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 +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 WithDispatch wrapper. Read 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 a5228779..c452864a 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,27 +115,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("🗻∈🌏");
 
@@ -147,7 +147,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 @@ -166,15 +166,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:

@@ -197,12 +197,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 @@ -216,10 +216,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.

@@ -242,7 +242,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̆";
 
@@ -252,12 +252,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:

@@ -278,7 +278,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";
 
@@ -292,7 +292,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
@@ -306,12 +306,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:

@@ -332,10 +332,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:

@@ -356,7 +356,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 @@ -385,9 +385,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:

@@ -397,10 +397,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:

@@ -409,10 +409,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:

@@ -421,10 +421,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:

@@ -433,10 +433,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:

@@ -460,10 +460,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:

@@ -485,16 +485,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:

@@ -557,12 +557,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."
@@ -575,15 +575,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:

@@ -602,20 +602,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:

@@ -627,11 +627,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.

@@ -639,7 +639,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();
@@ -650,16 +650,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:

@@ -679,17 +679,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:

@@ -705,28 +705,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:

@@ -735,15 +735,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:

@@ -752,18 +752,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:

@@ -775,17 +775,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:

@@ -797,7 +797,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.

Examples
@@ -806,7 +806,7 @@ Core Property White_Space.

let s = " Hello\tworld\t";
 
 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.

Text directionality
@@ -826,7 +826,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.

Text directionality
@@ -846,7 +846,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.

@@ -868,7 +868,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.

@@ -890,9 +890,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:

@@ -905,9 +905,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 @@ -922,29 +922,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 @@ -962,10 +962,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 @@ -980,10 +980,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 @@ -1001,15 +1001,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

@@ -1027,28 +1027,28 @@ 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

As an iterator:

for c in "❤\n!".escape_debug() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1060,12 +1060,12 @@ 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:

for c in "❤\n!".escape_default() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1077,12 +1077,12 @@ 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:

for c in "❤\n!".escape_unicode() {
-    print!("{}", c);
+    print!("{c}");
 }
 println!();

Using println! directly:

@@ -1094,8 +1094,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
@@ -1108,8 +1108,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
@@ -1123,11 +1123,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:

@@ -1150,11 +1150,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:

@@ -1172,7 +1172,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
@@ -1183,49 +1183,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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 6104f5f7..3755c95b 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read 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 ce5d7ac3..0cdedbfd 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.

-

Instruments this type with the provided Span, returning an +

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.

-

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 +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 WithDispatch wrapper. Read more

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

-
+
\ No newline at end of file diff --git a/rustdoc.css b/rustdoc.css index 07de4cbe..ed8c6c73 100644 --- a/rustdoc.css +++ b/rustdoc.css @@ -1 +1 @@ - @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2"),url("SourceSerif4-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2"),url("SourceSerif4-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2"),url("SourceSerif4-Bold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2"),url("SourceCodePro-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2"),url("SourceCodePro-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),url("SourceCodePro-Semibold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic.ttf.woff2") format("woff2"),url("NanumBarunGothic.ttf.woff") format("woff");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:20px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}h1.fqn{margin:0;padding:0;}.main-heading{display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:6px;margin-bottom:15px;}.main-heading a:hover{text-decoration:underline;}#toggle-all-docs{text-decoration:none;}h2,.top-doc h3,.top-doc h4{border-bottom:1px solid;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;border-bottom-style:none;margin:0;padding:0;margin-top:0.6em;margin-bottom:0.4em;}.impl,.impl-items .method,.methods .method,.impl-items .type,.methods .type,.impl-items .associatedconstant,.methods .associatedconstant,.impl-items .associatedtype,.methods .associatedtype{flex-basis:100%;font-weight:600;position:relative;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,.out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main-content>ul.docblock>li>a{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}summary{outline:none;}td,th{padding:0;}table{border-collapse:collapse;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{padding:1px 6px;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.docblock.item-decl{margin-left:0;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{max-width:none;overflow:visible;margin-left:0px;}nav.sub{position:relative;font-size:1rem;text-transform:uppercase;}.sub-container{display:flex;flex-direction:row;flex-wrap:nowrap;}.sub-logo-container{display:none;margin-right:20px;}.source .sub-logo-container{display:block;}.source .sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.sidebar{font-size:0.875rem;width:250px;min-width:200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.sidebar-elems,.sidebar>.location{padding-left:24px;}.sidebar .location{overflow-wrap:anywhere;}.rustdoc.source .sidebar{width:50px;min-width:0px;max-width:300px;flex-grow:0;flex-shrink:0;flex-basis:auto;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.source .sidebar>*:not(:first-child){transition:opacity 0.5s;opacity:0;visibility:hidden;}.source .sidebar.expanded{overflow-y:auto;}.source .sidebar.expanded>*{opacity:1;visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.hidden{display:none !important;}.sidebar .logo-container{display:flex;margin-top:10px;margin-bottom:10px;justify-content:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.block{padding:0;}.block ul,.block li{padding:0;margin:0;list-style:none;}.block a,h2.location a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{border-bottom:none;font-weight:500;padding:0;margin:0;margin-top:0.7rem;margin-bottom:0.7rem;}.sidebar h3{font-size:1.125rem;font-weight:500;padding:0;margin:0;}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.example-wrap>pre.rust a:hover{text-decoration:underline;}.rustdoc:not(.source) .example-wrap>pre:not(.line-number){width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre.line-numbers{width:auto;overflow-x:visible;}.rustdoc .example-wrap>pre{margin:0;}#search{position:relative;}.search-loading{text-align:center;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.information){max-width:100%;overflow-x:auto;}.content .out-of-band{flex-grow:0;font-size:1.125rem;font-weight:normal;float:right;}.method>.code-header,.trait-impl>.code-header{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;overflow-wrap:break-word;overflow-wrap:anywhere;}.in-band>code,.in-band>.code-header{display:inline-block;}#main-content{position:relative;}#main-content>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.125rem;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1rem;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.875rem;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:0.875rem;}.content .item-info{position:relative;margin-left:24px;}.sub-variant>div>.item-info{margin-top:initial;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main-content>.item-info{margin-top:0;margin-left:0;}nav.sub{flex-grow:1;margin-bottom:25px;}.source nav.sub{margin-left:32px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.anchor::before{content:'§';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.block a.current.crate{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-container{position:relative;display:flex;height:34px;}.search-container>*{height:100%;}.search-results-title{display:inline;}#search-settings{font-size:1.5rem;font-weight:500;margin-bottom:20px;}#crate-search{min-width:115px;margin-top:5px;margin-left:0.25em;padding-left:0.3125em;padding-right:23px;border:0;border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;background-image:url("down-arrow.svg");}.search-container{margin-top:4px;}.search-input{-webkit-appearance:none;-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:1px solid;border-radius:2px;padding:8px;font-size:1rem;transition:border-color 300ms ease;width:100%;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{text-align:center;display:block;margin:10px 0;border-bottom:1px solid;padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.item-info .stab{display:inline-block;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;}.stab p{display:inline;}.stab .emoji{font-size:1.25rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-weight:normal;font-size:1rem;}.rightside{float:right;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;}.example-wrap:hover .test-arrow{visibility:visible;}a.test-arrow:hover{text-decoration:none;}.code-attribute{font-weight:300;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:1.25rem;}h3.variant{font-weight:600;font-size:1.125rem;margin-bottom:10px;border-bottom:none;}.sub-variant h4{font-size:1rem;font-weight:400;border-bottom:none;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}:target>code,:target>.code-header{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:1.25rem;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:1rem;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:1.1875rem;font-weight:600;display:block;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:1.25rem;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:1.125rem;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:1rem;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#sidebar-toggle{position:sticky;top:0;left:0;cursor:pointer;font-weight:bold;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:center;align-items:center;z-index:10;}#source-sidebar{width:100%;z-index:1;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:-38px;top:4px;}.theme-picker button{outline:none;}#settings-menu,#help-button{margin-left:4px;outline:none;}#theme-picker,#copy-path{height:34px;}#theme-picker,#settings-menu,#help-button,#copy-path{padding:5px;width:33px;border:1px solid;border-radius:2px;cursor:pointer;}#help-button{font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:20px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);overflow-wrap:normal;}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:1rem;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:1.125rem;display:block;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main-content>ul{padding-left:10px;}#main-content>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.625rem;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"";cursor:pointer;width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.undocumented[open] >summary::before,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background-image:url("toggle-minus.svg");}details.undocumented>summary::before,details.rustdoc-toggle>summary::before{background-image:url("toggle-plus.svg");}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}.sidebar.expanded+main .width-limiter .sub-logo-container.rust-logo{display:none;}.rustdoc.source .sidebar{transition:width .5s;}.source .sidebar.expanded{width:300px;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{padding-top:0px;display:block;}main{padding-left:15px;padding-top:0px;}.rustdoc,.main-heading{flex-direction:column;}.content .out-of-band{text-align:left;margin-left:initial;padding:initial;}.content .out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar-elems{margin-top:1em;}.sidebar{position:fixed;top:45px;left:-1000px;margin-left:0;background-color:rgba(0,0,0,0);margin:0;padding:0;z-index:11;height:calc(100vh - 45px);}.source main,.source .sidebar{top:0;padding:0;}.sidebar.shown,.sidebar.expanded,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{position:fixed;margin:0;z-index:11;width:0;}.mobile-topbar .location a{padding:0;margin:0;}.mobile-topbar .location{border:none;padding:0;margin:auto 0.5em auto auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:24px;}.mobile-topbar .logo-container{max-height:45px;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin-left:20px;margin-top:5px;margin-bottom:5px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.source .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;}.source nav:not(.sidebar).sub{margin-left:32px;}#theme-picker{display:none;width:0;}.content{margin-left:0px;}.source .content{margin-top:10px;}#search{margin-left:0;padding:0;}.anchor{display:none !important;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}.sidebar.expanded #sidebar-toggle{font-size:1.5rem;}.sidebar:not(.expanded) #sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;border:1px solid;border-left:0;}#source-sidebar{z-index:11;}#main-content>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:block;}.item-row{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}.source .sidebar.expanded{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}}@media print{nav.sub,.content .out-of-band{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main-content>table:not(.table-display) td{word-break:break-word;width:50%;}#crate-search{border-radius:4px;border:0;}.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}.sub-container{flex-direction:column;}.sub-logo-container{align-self:center;}.source .sub-logo-container>img{height:35px;width:35px;}.sidebar:not(.expanded) #sidebar-toggle{top:10px;}}.method-toggle summary,.implementors-toggle summary,.impl{margin-bottom:0.75em;}.method-toggle[open]{margin-bottom:2em;}.implementors-toggle[open]{margin-bottom:2em;}#trait-implementations-list .method-toggle,#synthetic-implementations-list .method-toggle,#blanket-implementations-list .method-toggle{margin-bottom:1em;}.scraped-example-title{font-family:'Fira Sans';}.scraped-example:not(.expanded) .code-wrapper pre.line-numbers{overflow:hidden;max-height:240px;}.scraped-example:not(.expanded) .code-wrapper .example-wrap pre.rust{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example .code-wrapper .prev{position:absolute;top:0.25em;right:2.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .next{position:absolute;top:0.25em;right:1.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;right:0.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper:before{content:" ";width:100%;height:5px;position:absolute;z-index:100;top:0;background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:100;bottom:0;background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper{overflow:hidden;max-height:240px;}.scraped-example .code-wrapper .line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.more-examples-toggle{margin-top:10px;}.more-examples-toggle summary{color:#999;font-family:'Fira Sans';}.more-scraped-examples{margin-left:25px;display:flex;flex-direction:row;width:calc(100% - 25px);}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line:hover .toggle-line-inner{background:#aaa;}.toggle-line-inner{min-width:2px;background:#ddd;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;font-family:'Fira Sans';}.example-links ul{margin-bottom:0;} \ No newline at end of file + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2"),url("SourceSerif4-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2"),url("SourceSerif4-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2"),url("SourceSerif4-Bold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2"),url("SourceCodePro-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2"),url("SourceCodePro-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),url("SourceCodePro-Semibold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic.ttf.woff2") format("woff2"),url("NanumBarunGothic.ttf.woff") format("woff");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:20px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}h1.fqn{margin:0;padding:0;}.main-heading{display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:6px;margin-bottom:15px;}.main-heading a:hover{text-decoration:underline;}#toggle-all-docs{text-decoration:none;}h2,.top-doc h3,.top-doc h4{border-bottom:1px solid;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;border-bottom-style:none;margin:0;padding:0;margin-top:0.6em;margin-bottom:0.4em;}.impl,.impl-items .method,.methods .method,.impl-items .type,.methods .type,.impl-items .associatedconstant,.methods .associatedconstant,.impl-items .associatedtype,.methods .associatedtype{flex-basis:100%;font-weight:600;position:relative;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,.out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main-content>ul.docblock>li>a{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}summary{outline:none;}td,th{padding:0;}table{border-collapse:collapse;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{padding:1px 6px;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.docblock.item-decl{margin-left:0;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{max-width:none;overflow:visible;margin-left:0px;}nav.sub{position:relative;font-size:1rem;text-transform:uppercase;}.sub-container{display:flex;flex-direction:row;flex-wrap:nowrap;}.sub-logo-container{display:none;margin-right:20px;}.source .sub-logo-container{display:block;}.source .sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.sidebar{font-size:0.875rem;width:250px;min-width:200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.sidebar-elems,.sidebar>.location{padding-left:24px;}.sidebar .location{overflow-wrap:anywhere;}.rustdoc.source .sidebar{width:50px;min-width:0px;max-width:300px;flex-grow:0;flex-shrink:0;flex-basis:auto;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.source .sidebar>*:not(#sidebar-toggle){opacity:0;visibility:hidden;}.source .sidebar.expanded{overflow-y:auto;}.source .sidebar.expanded>*:not(#sidebar-toggle){opacity:1;visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.hidden{display:none !important;}.sidebar .logo-container{display:flex;margin-top:10px;margin-bottom:10px;justify-content:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.block{padding:0;}.block ul,.block li{padding:0;margin:0;list-style:none;}.block a,h2.location a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{border-bottom:none;font-weight:500;padding:0;margin:0;margin-top:0.7rem;margin-bottom:0.7rem;}.sidebar h3{font-size:1.125rem;font-weight:500;padding:0;margin:0;}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.example-wrap>pre.rust a:hover{text-decoration:underline;}.line-numbers{text-align:right;}.rustdoc:not(.source) .example-wrap>pre:not(.line-number){width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre.line-numbers{width:auto;overflow-x:visible;}.rustdoc .example-wrap>pre{margin:0;}#search{position:relative;}.search-loading{text-align:center;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.information){max-width:100%;overflow-x:auto;}.content .out-of-band{flex-grow:0;font-size:1.125rem;font-weight:normal;float:right;}.method>.code-header,.trait-impl>.code-header{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;overflow-wrap:break-word;overflow-wrap:anywhere;}.in-band>code,.in-band>.code-header{display:inline-block;}#main-content{position:relative;}#main-content>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.125rem;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1rem;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.875rem;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:0.875rem;}.content .item-info{position:relative;margin-left:24px;}.sub-variant>div>.item-info{margin-top:initial;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main-content>.item-info{margin-top:0;margin-left:0;}nav.sub{flex-grow:1;margin-bottom:25px;}.source nav.sub{margin-left:32px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.anchor::before{content:'§';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.block a.current.crate{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-container{position:relative;display:flex;height:34px;}.search-container>*{height:100%;}.search-results-title{display:inline;}#search-settings{font-size:1.5rem;font-weight:500;margin-bottom:20px;}#crate-search{min-width:115px;margin-top:5px;margin-left:0.25em;padding-left:0.3125em;padding-right:23px;border:0;border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;background-image:url("down-arrow.svg");}.search-container{margin-top:4px;}.search-input{-webkit-appearance:none;-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:1px solid;border-radius:2px;padding:8px;font-size:1rem;transition:border-color 300ms ease;width:100%;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{text-align:center;display:block;margin:10px 0;border-bottom:1px solid;padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.item-info .stab{display:inline-block;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;}.stab p{display:inline;}.stab .emoji{font-size:1.25rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-weight:normal;font-size:1rem;}.rightside{float:right;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;}.example-wrap:hover .test-arrow{visibility:visible;}a.test-arrow:hover{text-decoration:none;}.code-attribute{font-weight:300;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:1.25rem;}h3.variant{font-weight:600;font-size:1.125rem;margin-bottom:10px;border-bottom:none;}.sub-variant h4{font-size:1rem;font-weight:400;border-bottom:none;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}:target>code,:target>.code-header{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:1.25rem;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:1rem;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:1.1875rem;font-weight:600;display:block;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:1.25rem;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:1.125rem;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:1rem;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#sidebar-toggle{position:sticky;top:0;left:0;cursor:pointer;font-weight:bold;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:center;align-items:center;z-index:10;}#source-sidebar{width:100%;z-index:1;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:-38px;top:4px;}.theme-picker button{outline:none;}#settings-menu,#help-button{margin-left:4px;outline:none;}#theme-picker,#copy-path{height:34px;}#theme-picker,#settings-menu,#help-button,#copy-path{padding:5px;width:33px;border:1px solid;border-radius:2px;cursor:pointer;}#help-button{font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:20px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);overflow-wrap:normal;}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:1rem;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:1.125rem;display:block;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main-content>ul{padding-left:10px;}#main-content>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.625rem;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"";cursor:pointer;width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.undocumented[open] >summary::before,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background-image:url("toggle-minus.svg");}details.undocumented>summary::before,details.rustdoc-toggle>summary::before{background-image:url("toggle-plus.svg");}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}.sidebar.expanded+main .width-limiter .sub-logo-container.rust-logo{display:none;}.source .sidebar.expanded{width:300px;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{padding-top:0px;display:block;}main{padding-left:15px;padding-top:0px;}.rustdoc,.main-heading{flex-direction:column;}.content .out-of-band{text-align:left;margin-left:initial;padding:initial;}.content .out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar-elems{margin-top:1em;}.sidebar{position:fixed;top:45px;left:-1000px;margin-left:0;background-color:rgba(0,0,0,0);margin:0;padding:0;z-index:11;height:calc(100vh - 45px);}.source main,.source .sidebar{top:0;padding:0;}.sidebar.shown,.sidebar.expanded,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{position:fixed;margin:0;z-index:11;width:0;}.mobile-topbar .location a{padding:0;margin:0;}.mobile-topbar .location{border:none;padding:0;margin:auto 0.5em auto auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:24px;}.mobile-topbar .logo-container{max-height:45px;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin-left:20px;margin-top:5px;margin-bottom:5px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.source .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;}.source nav:not(.sidebar).sub{margin-left:32px;}#theme-picker{display:none;width:0;}.content{margin-left:0px;}.source .content{margin-top:10px;}#search{margin-left:0;padding:0;}.anchor{display:none !important;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}.sidebar.expanded #sidebar-toggle{font-size:1.5rem;}.sidebar:not(.expanded) #sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;border:1px solid;border-left:0;}#source-sidebar{z-index:11;}#main-content>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:block;}.item-row{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}.source .sidebar.expanded{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}}@media print{nav.sub,.content .out-of-band{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main-content>table:not(.table-display) td{word-break:break-word;width:50%;}#crate-search{border-radius:4px;border:0;}.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}.sub-container{flex-direction:column;}.sub-logo-container{align-self:center;}.source .sub-logo-container>img{height:35px;width:35px;}.sidebar:not(.expanded) #sidebar-toggle{top:10px;}}.method-toggle summary,.implementors-toggle summary,.impl{margin-bottom:0.75em;}.method-toggle[open]{margin-bottom:2em;}.implementors-toggle[open]{margin-bottom:2em;}#trait-implementations-list .method-toggle,#synthetic-implementations-list .method-toggle,#blanket-implementations-list .method-toggle{margin-bottom:1em;}.scraped-example-title{font-family:'Fira Sans';}.scraped-example:not(.expanded) .code-wrapper pre.line-numbers{overflow:hidden;max-height:240px;}.scraped-example:not(.expanded) .code-wrapper .example-wrap pre.rust{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example .code-wrapper .prev{position:absolute;top:0.25em;right:2.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .next{position:absolute;top:0.25em;right:1.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;right:0.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper:before{content:" ";width:100%;height:5px;position:absolute;z-index:100;top:0;background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:100;bottom:0;background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper{overflow:hidden;max-height:240px;}.scraped-example .code-wrapper .line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.more-examples-toggle{margin-top:10px;}.more-examples-toggle summary{color:#999;font-family:'Fira Sans';}.more-scraped-examples{margin-left:25px;display:flex;flex-direction:row;width:calc(100% - 25px);}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line:hover .toggle-line-inner{background:#aaa;}.toggle-line-inner{min-width:2px;background:#ddd;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;font-family:'Fira Sans';}.example-links ul{margin-bottom:0;} \ No newline at end of file diff --git a/search-index.js b/search-index.js index 3007999e..148e5fe1 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"mcaptcha":{"doc":"","t":[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,0,0,11,11,11,11,11,11,11,11,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,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,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,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,11,5,11,11,11,11,11,11,11,11,11,11,3,11,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,11,11,11,11,11,3,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,0,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,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,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,12,11,11,12,11,11,12,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,3,12,12,12,12,11,11,11,12,12,12,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,3,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,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,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,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,13,13,13,13,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,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,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,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,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,11,11,11,11,12,11,11,11,11,11,11,3,17,6,11,11,11,11,11,11,11,11,5,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,3,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,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,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,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,0,0,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,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","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","smtp","source_code","static_assets","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","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","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","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","Secret","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","get_secret","into","into","into","register","register","secret","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_user_secret","vzip","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","TrafficPattern","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","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","runner","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","get_captcha","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","update_key","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","AddNotification","add_notification","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","heading","into","into","message","register","serialize","to","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notification","NotificationResp","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deserialize","from","from","from","from","get_notification","heading","heading","id","id","into","into","into","message","message","name","name","received","received","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","get_notification","MarkReadReq","NotificationResp","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deserialize","deserialize","from","from","from","heading","id","id","into","into","into","mark_read","message","name","received","register","serialize","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","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","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","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","AccountNotFound","BlacklistError","CaptchaError","ClosedForRegistration","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","ne","ne","serialize","source","source","source","status_code","status_code","to_string","to_string","to_string","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","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","Level","McaptchaConfig","PAGE","advance","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","config_id","difficulty_factor","duration","duration","easy","form_title","from","from","from","from","from","from","into","into","into","into","into","into","key","key","levels","name","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","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","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","IndexPage","PAGE","SiteKeys","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","get_list_sitekeys","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","Level","McaptchaConfig","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config_id","difficulty_factor","duration","duration","from","from","from","from","into","into","into","into","key","levels","name","name","new","register","render_once","render_once_to","stats","to_owned","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","view_sitekey","visitor_threshold","vzip","vzip","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","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","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","fetch","record","Stats","StatsPayload","StatsUnixTimestamp","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config_fetches","config_fetches","confirms","confirms","deserialize","deserialize","fmt","fmt","fmt","from","from","from","from_stats","into","into","into","key","new","runners","serialize","serialize","solves","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","unix_timestamp","vzip","vzip","vzip","fetch_config_fetched","fetch_confirm","fetch_solve","record_confirm","record_fetch","record_solve","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::get::runner","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::get::runner","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::stats::fetch","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats::fetch::runners","","","mcaptcha::stats::record","","","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.","","","databse pool","","","","","","","","","","","","","","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","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","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).","","","","","","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","Returns the argument unchanged.","route handler that gets all unread notifications","","","","","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).","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","databse pool","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","","","","","","","","","","","","","","","","","","","","","","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 …","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","when the a token name is already taken token 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.","","","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.","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.","Returns the argument unchanged.","utility function to get a list of all sitekeys that a user …","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.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","featch PoWConfig confirms","","","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","record PoWConfig confirms","record PoWConfig fetches","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,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,19,19,0,0,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,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,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,0,32,33,34,32,33,34,32,32,32,32,32,33,34,0,32,33,34,33,34,32,32,0,32,32,33,34,32,33,34,32,33,34,0,32,33,34,0,35,36,37,35,36,37,36,36,36,36,35,36,37,35,36,37,35,37,0,36,0,0,36,35,36,37,35,36,37,35,36,37,36,0,35,36,37,0,38,39,40,38,39,40,38,39,40,38,39,40,0,0,38,39,40,0,0,0,0,38,39,40,38,39,40,38,39,40,38,39,40,0,41,41,41,41,41,41,41,41,41,41,41,41,41,0,0,0,42,43,44,42,43,44,42,43,44,42,43,44,42,42,43,44,42,42,43,44,42,43,44,42,43,44,43,0,42,43,44,0,42,43,44,42,43,44,42,43,44,42,43,44,42,43,44,42,42,43,44,0,0,0,0,0,0,0,0,0,0,0,45,46,47,45,46,47,46,46,0,45,45,46,45,46,45,46,47,45,46,47,46,45,46,47,0,45,46,46,45,46,47,45,46,47,45,46,47,45,46,47,0,0,48,49,48,49,48,48,0,48,48,48,49,48,49,48,48,49,48,48,48,49,48,49,48,49,48,49,0,0,50,50,51,52,53,50,51,52,53,50,50,50,52,50,52,0,50,50,52,50,52,50,51,52,53,50,51,52,53,52,52,50,51,53,0,50,52,0,50,52,50,51,52,53,50,51,52,53,50,51,52,53,0,50,51,52,53,0,54,54,54,54,54,54,54,54,54,54,54,0,0,55,56,57,55,56,57,56,57,56,57,56,57,57,56,57,55,56,57,0,55,56,57,56,55,0,56,57,56,57,55,56,57,55,56,57,55,56,57,57,55,56,57,0,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,59,60,59,60,59,59,59,59,59,60,0,59,60,59,60,0,59,59,59,60,59,60,59,60,59,60,0,61,61,61,61,61,61,61,61,61,61,0,62,63,64,62,63,64,63,63,63,62,63,64,62,63,64,63,63,62,64,0,63,62,63,64,62,63,64,62,63,64,0,0,62,63,64,0,0,0,0,0,0,0,0,65,66,65,66,67,68,65,69,70,71,66,72,67,68,65,69,70,71,66,72,68,71,0,67,68,70,71,67,68,70,71,68,71,71,70,71,68,71,67,70,67,65,65,70,66,66,67,68,65,65,65,69,70,71,66,66,66,72,68,67,68,0,67,68,65,69,70,71,66,72,70,71,70,71,69,72,0,67,70,0,67,68,70,71,65,66,67,68,65,69,70,71,66,72,67,68,65,69,70,71,66,72,67,68,65,69,70,71,66,72,68,67,68,67,68,65,69,70,71,66,72,73,74,75,76,0,77,77,77,77,77,77,77,77,77,77,77,0,0,0,0,0,0,0,78,79,78,79,78,78,79,78,78,79,78,79,78,78,78,79,78,79,78,79,78,79,0,0,80,81,82,80,81,82,81,80,81,81,82,0,80,81,80,81,80,81,82,80,81,80,81,80,81,82,0,81,80,81,82,80,81,82,80,81,82,80,81,82,0,0,0,83,84,85,83,84,85,83,84,83,84,85,84,83,84,83,84,85,0,84,84,84,85,83,84,83,84,85,83,84,85,83,84,85,83,84,85,0,86,86,86,86,86,86,86,86,86,86,86,86,0,0,0,0,0,0,87,88,87,88,87,87,87,87,87,88,0,0,87,88,87,88,87,87,87,88,87,88,87,88,87,88,0,89,89,89,89,89,89,89,0,89,89,89,89,89,89,89,89,89,0,90,91,90,91,90,90,90,90,90,91,90,91,91,90,90,90,90,91,90,91,90,91,0,90,91,0,92,93,92,93,92,92,92,92,92,93,92,93,93,92,92,92,93,92,93,92,93,92,0,92,93,0,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,95,0,95,0,95,95,20,95,20,20,20,20,0,0,95,20,20,20,95,95,20,20,95,20,95,95,95,95,20,95,20,95,20,95,95,95,20,96,97,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,99,99,99,99,99,99,99,99,99,99,99,99,99,99,0,0,0,100,101,102,103,100,101,102,103,0,100,101,102,103,100,100,0,0,100,101,102,103,100,100,101,102,103,0,0,0,100,101,102,103,100,101,102,103,100,101,102,103,100,101,102,103,0,104,104,104,104,104,104,104,104,104,104,104,104,0,0,0,105,105,105,105,105,105,105,105,105,105,105,105,105,0,105,105,106,107,107,107,107,107,0,107,108,107,107,0,0,107,107,107,107,0,108,0,0,107,107,107,107,107,107,106,107,109,108,106,107,109,108,109,106,107,108,109,107,108,106,106,107,107,108,108,106,107,107,107,107,107,107,107,107,107,109,108,108,108,106,107,109,108,107,108,109,106,107,108,107,108,106,107,108,106,107,109,108,106,107,109,108,106,107,109,108,106,107,109,108,110,111,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,114,113,115,114,113,115,114,114,114,113,114,113,115,114,113,115,0,115,114,114,114,114,113,115,114,113,115,114,113,115,114,113,115,0,0,0,116,117,116,118,117,116,118,117,117,117,116,117,116,118,117,116,118,0,118,117,117,117,117,116,118,117,116,118,117,116,118,117,116,118,0,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,121,122,123,121,122,124,123,121,122,124,123,123,121,122,0,123,121,122,124,123,121,122,124,123,123,124,123,123,0,0,123,123,123,121,122,124,123,121,122,124,123,121,122,124,123,121,122,124,0,125,125,125,125,125,125,125,125,125,125,125,0,0,126,127,126,127,126,126,126,127,126,127,126,0,0,127,126,126,0,0,0,0,126,126,126,127,126,127,126,127,126,127,0,0,0,128,129,130,128,129,130,128,128,129,130,128,128,128,129,130,128,129,128,129,0,128,128,130,129,129,128,129,130,128,129,130,128,129,130,128,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,0,132,133,134,135,132,133,134,135,132,132,0,132,132,133,134,135,132,133,134,135,133,134,135,132,132,0,132,0,0,132,132,133,134,135,132,133,134,135,132,133,134,135,0,132,132,133,134,135,0,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,137,138,0,139,137,138,140,141,139,142,137,138,140,141,139,142,139,140,139,140,139,140,139,137,138,0,140,139,140,140,139,137,138,140,141,139,142,137,138,140,141,139,142,140,139,141,142,140,139,140,139,140,139,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,143,143,0,143,143,143,143,143,143,143,0,0,0,0,0,0,144,145,146,147,148,149,144,145,146,147,148,149,144,145,146,148,144,145,146,148,144,145,144,146,0,148,144,145,146,147,148,149,144,145,146,147,148,149,146,148,146,144,146,146,148,148,147,149,146,148,146,148,144,145,146,148,144,145,146,147,148,149,144,145,146,147,148,149,144,145,146,147,148,149,145,144,145,146,147,148,149,0,0,0,150,151,150,151,150,150,150,151,0,150,151,0,150,151,150,150,150,150,150,151,150,151,150,151,150,151,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,0,0,0,153,154,155,156,153,154,155,156,153,154,155,153,154,155,153,154,153,155,153,154,155,156,153,154,155,156,155,155,153,155,155,156,155,155,155,153,154,155,153,154,155,156,153,154,155,156,153,154,155,156,0,154,153,154,155,156,0,0,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,0,0,158,159,158,160,159,158,160,159,159,159,158,159,159,158,160,159,158,160,160,159,159,0,159,159,158,160,159,158,160,159,158,160,159,159,158,160,0,0,0,0,0,0,0,0,0,19,19,161,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,161,19,0,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,19,162,19,19,163,162,163,161,164,165,166,167,19,162,161,165,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,164,163,162,165,162,163,161,164,165,166,167,19,162,165,19,164,165,161,166,167,162,164,165,162,19,164,163,19,0,0,19,19,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,164,166,167,162,164,165,162,163,161,164,165,166,167,19,0,0,0,0,168,168,168,168,168,168,168,168,168,168,168,0,0,0,169,170,171,172,169,170,171,172,0,169,170,171,172,169,169,171,171,0,0,169,170,171,172,169,169,171,171,170,172,0,169,170,171,172,169,170,171,172,169,170,171,172,169,170,171,172,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,173,174,175,173,174,175,173,174,175,173,174,175,173,174,173,174,173,175,173,174,175,173,174,175,173,173,174,175,175,174,0,173,175,173,174,173,174,175,173,174,175,173,174,175,173,174,175,173,173,174,175,0,0,0,0,0,0,0,0,0,0,176,177,176,178,177,176,178,177,177,176,177,176,178,177,176,178,177,178,177,177,0,0,0,177,177,176,178,177,176,178,177,176,178,177,176,178,0,179,179,179,179,179,179,179,179,179,179],"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,[[["",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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],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,[[["",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,[[["",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,[[["",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,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["secret",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",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]],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,[[["",0],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpattern",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,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]]],null,[[["",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,[[]],[[]],[[]],[[["str",0],["str",0],["appdata",6]]],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]]],[[["str",0],["str",0],["str",0],["appdata",6]]],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]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],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]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[["notification",3]]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[]],null,null,null,null,null,null,[[["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]],[[]],[[]],[[]],[[["appdata",6],["str",0]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[],["result",4]],[[]],[[]],[[]],null,null,null,[[]],[[]],[[]],null,null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",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,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],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]],[[],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[]],[[]],[[["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],[[],["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]],[[]],[[]],[[["",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,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",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]],[[]],[[["recverror",3]]],[[["validationerrors",3]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["captchaerror",4]],["serviceerror",4]],[[["error",4]]],[[["smtperror",3]]],[[["mailboxerror",4]]],[[["credserror",4]],["serviceerror",4]],[[]],[[]],[[]],[[["error",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]],["statuscode",3]],[[["",0]],["statuscode",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]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],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,[["mcaptchadetails",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,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]],["mcaptchaconfig",3]],[[["",0]],["level",3]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["mcaptchaconfig",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpattern",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",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]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["appdata",6],["identity",3]]],[[]],[[]],null,[[["vec",3,[["mcaptchadetails",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,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchaconfig",3]],[[["",0]],["level",3]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["stats",3],["mcaptchaconfig",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[["",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,[[]],[[]],[[]],[[]],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,[[["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,[[["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]],["statsunixtimestamp",3]],[[["",0]],["stats",3]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["stats",3]]],[[]],[[]],[[]],null,[[["str",0],["str",0],["pgpool",6]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,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]],[[],["vec",3,[["i64",0]]]],[[]],[[]],[[]],[[["str",0],["str",0],["pgpool",6]]],[[["str",0],["str",0],["pgpool",6]]],[[["str",0],["str",0],["pgpool",6]]],[[["str",0],["pgpool",6]]],[[["str",0],["pgpool",6]]],[[["str",0],["pgpool",6]]],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,"Secret"],[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,"TrafficPattern"],[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,"AddNotification"],[3,"add_notification"],[3,"Notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"NotificationResp"],[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"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[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,"McaptchaConfig"],[3,"Level"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"McaptchaConfig"],[3,"Level"],[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,"StatsUnixTimestamp"],[3,"Stats"],[3,"StatsPayload"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]},\ +"mcaptcha":{"doc":"","t":[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,0,0,11,11,11,11,11,11,11,11,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,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,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,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,11,5,11,11,11,11,11,11,11,11,11,11,3,11,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,11,11,11,11,11,3,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,0,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,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,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,12,11,11,12,11,11,12,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,3,12,12,12,12,11,11,11,12,12,12,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,3,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,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,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,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,13,13,13,13,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,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,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,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,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,11,11,11,11,12,11,11,11,11,11,11,3,17,6,11,11,11,11,11,11,11,11,5,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,3,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,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,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,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,0,0,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,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","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","smtp","source_code","static_assets","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","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","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","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","Secret","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","get_secret","into","into","into","register","register","secret","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_user_secret","vzip","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","TrafficPattern","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","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","runner","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","get_captcha","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","update_key","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","AddNotification","add_notification","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","heading","into","into","message","register","serialize","to","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notification","NotificationResp","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deserialize","from","from","from","from","get_notification","heading","heading","id","id","into","into","into","message","message","name","name","received","received","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","get_notification","MarkReadReq","NotificationResp","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deserialize","deserialize","from","from","from","heading","id","id","into","into","into","mark_read","message","name","received","register","serialize","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","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","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","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","AccountNotFound","BlacklistError","CaptchaError","ClosedForRegistration","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","ne","ne","serialize","source","source","source","status_code","status_code","to_string","to_string","to_string","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","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","Level","McaptchaConfig","PAGE","advance","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","config_id","difficulty_factor","duration","duration","easy","form_title","from","from","from","from","from","from","into","into","into","into","into","into","key","key","levels","name","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","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","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","IndexPage","PAGE","SiteKeys","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","get_list_sitekeys","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","Level","McaptchaConfig","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config_id","difficulty_factor","duration","duration","from","from","from","from","into","into","into","into","key","levels","name","name","new","register","render_once","render_once_to","stats","to_owned","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","view_sitekey","visitor_threshold","vzip","vzip","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","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","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","fetch","record","Stats","StatsPayload","StatsUnixTimestamp","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config_fetches","config_fetches","confirms","confirms","deserialize","deserialize","fmt","fmt","fmt","from","from","from","from_stats","into","into","into","key","new","runners","serialize","serialize","solves","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","unix_timestamp","vzip","vzip","vzip","fetch_config_fetched","fetch_confirm","fetch_solve","record_confirm","record_fetch","record_solve","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::get::runner","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::get::runner","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::stats::fetch","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats::fetch::runners","","","mcaptcha::stats::record","","","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.","","","databse pool","","","","","","","","","","","","","","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","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","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).","","","","","","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","","Returns the argument unchanged.","route handler that gets all unread notifications","","","","","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).","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","databse pool","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","","","","","","","","","","","","","","","","","","","","","","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 …","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","when the a token name is already taken token 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.","","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.","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.","Returns the argument unchanged.","utility function to get a list of all sitekeys that a user …","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.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","featch PoWConfig confirms","","","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","record PoWConfig confirms","record PoWConfig fetches","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,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,19,19,0,0,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,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,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,0,32,33,34,32,33,34,32,32,32,32,32,33,34,0,32,33,34,33,34,32,32,0,32,32,33,34,32,33,34,32,33,34,0,32,33,34,0,35,36,37,35,36,37,36,36,36,36,35,36,37,35,36,37,35,37,0,36,0,0,36,35,36,37,35,36,37,35,36,37,36,0,35,36,37,0,38,39,40,38,39,40,38,39,40,38,39,40,0,0,38,39,40,0,0,0,0,38,39,40,38,39,40,38,39,40,38,39,40,0,41,41,41,41,41,41,41,41,41,41,41,41,41,0,0,0,42,43,44,42,43,44,42,43,44,42,43,44,42,42,43,44,42,42,43,44,42,43,44,42,43,44,43,0,42,43,44,0,42,43,44,42,43,44,42,43,44,42,43,44,42,43,44,42,42,43,44,0,0,0,0,0,0,0,0,0,0,0,45,46,47,45,46,47,46,46,0,45,45,46,45,46,45,46,47,45,46,47,46,45,46,47,0,45,46,46,45,46,47,45,46,47,45,46,47,45,46,47,0,0,48,49,48,49,48,48,0,48,48,48,49,48,49,48,48,49,48,48,48,49,48,49,48,49,48,49,0,0,50,50,51,52,53,50,51,52,53,50,50,50,52,50,52,0,50,50,52,50,52,50,51,52,53,50,51,52,53,52,52,50,51,53,0,50,52,0,50,52,50,51,52,53,50,51,52,53,50,51,52,53,0,50,51,52,53,0,54,54,54,54,54,54,54,54,54,54,54,0,0,55,56,57,55,56,57,56,57,56,57,56,57,57,56,57,55,56,57,0,55,56,57,56,55,0,56,57,56,57,55,56,57,55,56,57,55,56,57,57,55,56,57,0,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,59,60,59,60,59,59,59,59,59,60,0,59,60,59,60,0,59,59,59,60,59,60,59,60,59,60,0,61,61,61,61,61,61,61,61,61,61,0,62,63,64,62,63,64,63,63,63,62,63,64,62,63,64,63,63,62,64,0,63,62,63,64,62,63,64,62,63,64,0,0,62,63,64,0,0,0,0,0,0,0,0,65,66,65,66,67,68,65,69,70,71,66,72,67,68,65,69,70,71,66,72,68,71,0,67,68,70,71,67,68,70,71,68,71,71,70,71,68,71,67,70,67,65,65,70,66,66,67,68,65,65,65,69,70,71,66,66,66,72,68,67,68,0,67,68,65,69,70,71,66,72,70,71,70,71,69,72,0,67,70,0,67,68,70,71,65,66,67,68,65,69,70,71,66,72,67,68,65,69,70,71,66,72,67,68,65,69,70,71,66,72,68,67,68,67,68,65,69,70,71,66,72,73,74,75,76,0,77,77,77,77,77,77,77,77,77,77,77,0,0,0,0,0,0,0,78,79,78,79,78,78,79,78,78,79,78,79,78,78,78,79,78,79,78,79,78,79,0,0,80,81,82,80,81,82,81,80,81,81,82,0,80,81,80,81,80,81,82,80,81,80,81,80,81,82,0,81,80,81,82,80,81,82,80,81,82,80,81,82,0,0,0,83,84,85,83,84,85,83,84,83,84,85,84,83,84,83,84,85,0,84,84,84,85,83,84,83,84,85,83,84,85,83,84,85,83,84,85,0,86,86,86,86,86,86,86,86,86,86,86,86,0,0,0,0,0,0,87,88,87,88,87,87,87,87,87,88,0,0,87,88,87,88,87,87,87,88,87,88,87,88,87,88,0,89,89,89,89,89,89,89,0,89,89,89,89,89,89,89,89,89,0,90,91,90,91,90,90,90,90,90,91,90,91,91,90,90,90,90,91,90,91,90,91,0,90,91,0,92,93,92,93,92,92,92,92,92,93,92,93,93,92,92,92,93,92,93,92,93,92,0,92,93,0,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,95,0,95,0,95,95,20,95,20,20,20,20,0,0,95,20,20,20,95,95,20,20,95,20,95,95,95,95,20,95,20,95,20,95,95,95,20,96,97,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,99,99,99,99,99,99,99,99,99,99,99,99,99,99,0,0,0,100,101,102,103,100,101,102,103,0,100,101,102,103,100,100,0,0,100,101,102,103,100,100,101,102,103,0,0,0,100,101,102,103,100,101,102,103,100,101,102,103,100,101,102,103,0,104,104,104,104,104,104,104,104,104,104,104,104,0,0,0,105,105,105,105,105,105,105,105,105,105,105,105,105,0,105,105,106,107,107,107,107,107,0,107,108,107,107,0,0,107,107,107,107,0,108,0,0,107,107,107,107,107,107,106,107,109,108,106,107,109,108,109,106,107,108,109,107,108,106,106,107,107,108,108,106,107,107,107,107,107,107,107,107,107,109,108,108,108,106,107,109,108,107,108,109,106,107,108,107,108,106,107,108,106,107,109,108,106,107,109,108,106,107,109,108,106,107,109,108,110,111,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,114,113,115,114,113,115,114,114,114,113,114,113,115,114,113,115,0,115,114,114,114,114,113,115,114,113,115,114,113,115,114,113,115,0,0,0,116,117,116,118,117,116,118,117,117,117,116,117,116,118,117,116,118,0,118,117,117,117,117,116,118,117,116,118,117,116,118,117,116,118,0,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,121,122,123,121,122,124,123,121,122,124,123,123,121,122,0,123,121,122,124,123,121,122,124,123,123,124,123,123,0,0,123,123,123,121,122,124,123,121,122,124,123,121,122,124,123,121,122,124,0,125,125,125,125,125,125,125,125,125,125,125,0,0,126,127,126,127,126,126,126,127,126,127,126,0,0,127,126,126,0,0,0,0,126,126,126,127,126,127,126,127,126,127,0,0,0,128,129,130,128,129,130,128,128,129,130,128,128,128,129,130,128,129,128,129,0,128,128,130,129,129,128,129,130,128,129,130,128,129,130,128,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,0,132,133,134,135,132,133,134,135,132,132,0,132,132,133,134,135,132,133,134,135,133,134,135,132,132,0,132,0,0,132,132,133,134,135,132,133,134,135,132,133,134,135,0,132,132,133,134,135,0,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,137,138,0,139,137,138,140,141,139,142,137,138,140,141,139,142,139,140,139,140,139,140,139,137,138,0,140,139,140,140,139,137,138,140,141,139,142,137,138,140,141,139,142,140,139,141,142,140,139,140,139,140,139,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,143,143,0,143,143,143,143,143,143,143,0,0,0,0,0,0,144,145,146,147,148,149,144,145,146,147,148,149,144,145,146,148,144,145,146,148,144,145,144,146,0,148,144,145,146,147,148,149,144,145,146,147,148,149,146,148,146,144,146,146,148,148,147,149,146,148,146,148,144,145,146,148,144,145,146,147,148,149,144,145,146,147,148,149,144,145,146,147,148,149,145,144,145,146,147,148,149,0,0,0,150,151,150,151,150,150,150,151,0,150,151,0,150,151,150,150,150,150,150,151,150,151,150,151,150,151,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,0,0,0,153,154,155,156,153,154,155,156,153,154,155,153,154,155,153,154,153,155,153,154,155,156,153,154,155,156,155,155,153,155,155,156,155,155,155,153,154,155,153,154,155,156,153,154,155,156,153,154,155,156,0,154,153,154,155,156,0,0,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,0,0,158,159,158,160,159,158,160,159,159,159,158,159,159,158,160,159,158,160,160,159,159,0,159,159,158,160,159,158,160,159,158,160,159,159,158,160,0,0,0,0,0,0,0,0,0,19,19,161,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,161,19,0,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,19,162,19,19,163,162,163,161,164,165,166,167,19,162,161,165,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,164,163,162,165,162,163,161,164,165,166,167,19,162,165,19,164,165,161,166,167,162,164,165,162,19,164,163,19,0,0,19,19,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,162,163,161,164,165,166,167,19,164,166,167,162,164,165,162,163,161,164,165,166,167,19,0,0,0,0,168,168,168,168,168,168,168,168,168,168,168,0,0,0,169,170,171,172,169,170,171,172,0,169,170,171,172,169,169,171,171,0,0,169,170,171,172,169,169,171,171,170,172,0,169,170,171,172,169,170,171,172,169,170,171,172,169,170,171,172,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,173,174,175,173,174,175,173,174,175,173,174,175,173,174,173,174,173,175,173,174,175,173,174,175,173,173,174,175,175,174,0,173,175,173,174,173,174,175,173,174,175,173,174,175,173,174,175,173,173,174,175,0,0,0,0,0,0,0,0,0,0,176,177,176,178,177,176,178,177,177,176,177,176,178,177,176,178,177,178,177,177,0,0,0,177,177,176,178,177,176,178,177,176,178,177,176,178,0,179,179,179,179,179,179,179,179,179,179],"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,[[["",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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],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,[[["",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,[[["",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,[[["",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,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["secret",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",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]],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,[[["",0],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpattern",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,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]]],null,[[["",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,[[]],[[]],[[]],[[["str",0],["str",0],["appdata",6]]],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]]],[[["str",0],["str",0],["str",0],["appdata",6]]],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]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],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]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[]],[[["notification",3]]],[[]],null,null,null,null,null,[[]],[[]],[[]],null,null,null,null,null,null,[[["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]],[[]],[[]],[[]],[[["appdata",6],["str",0]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[],["result",4]],[[]],[[]],[[]],null,null,null,[[]],[[]],[[]],null,null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",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,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],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]],[[],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[]],[[]],[[["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],[[],["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]],[[]],[[]],[[["",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,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",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]],[[]],[[]],[[["credserror",4]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["captchaerror",4]],["serviceerror",4]],[[["error",4]]],[[["smtperror",3]]],[[["recverror",3]]],[[["mailboxerror",4]]],[[["validationerrors",3]],["serviceerror",4]],[[]],[[["serviceerror",4]]],[[]],[[["error",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]],["statuscode",3]],[[["",0]],["statuscode",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]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],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,[["mcaptchadetails",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,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]],["mcaptchaconfig",3]],[[["",0]],["level",3]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["mcaptchaconfig",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpattern",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",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]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["appdata",6],["identity",3]]],[[]],[[]],null,[[["vec",3,[["mcaptchadetails",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,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchaconfig",3]],[[["",0]],["level",3]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["stats",3],["mcaptchaconfig",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[["",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,[[]],[[]],[[]],[[]],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,[[["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,[[["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]],["statsunixtimestamp",3]],[[["",0]],["stats",3]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["stats",3]]],[[]],[[]],[[]],null,[[["str",0],["str",0],["pgpool",6]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,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]],[[],["vec",3,[["i64",0]]]],[[]],[[]],[[]],[[["str",0],["str",0],["pgpool",6]]],[[["str",0],["str",0],["pgpool",6]]],[[["str",0],["str",0],["pgpool",6]]],[[["str",0],["pgpool",6]]],[[["str",0],["pgpool",6]]],[[["str",0],["pgpool",6]]],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,"Secret"],[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,"TrafficPattern"],[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,"AddNotification"],[3,"add_notification"],[3,"Notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"NotificationResp"],[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"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[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,"McaptchaConfig"],[3,"Level"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"McaptchaConfig"],[3,"Level"],[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,"StatsUnixTimestamp"],[3,"Stats"],[3,"StatsPayload"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]},\ "tests_migrate":{"doc":"","t":[3,3,12,12,12,11,11,5,5,12,12,12,12,11,11,11,5,12,12,0,12,12,11,11,11,11,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,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],"n":["SETTINGS","Settings","__private_field","allow_demo","allow_registration","borrow","borrow_mut","build","cache_bust","captcha","commercial","database","debug","deref","from","into","main","redis","server","settings","smtp","source_code","try_from","try_into","type_id","vzip","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","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"],"q":["tests_migrate","","","","","","","","","","","","","","","","","","","","","","","","","","tests_migrate::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,1,2,2,1,1,0,0,2,2,2,2,1,1,1,0,2,2,0,2,2,1,1,1,1,0,0,0,0,0,0,0,0,2,2,3,4,5,3,6,7,8,9,2,4,5,3,6,7,8,9,2,3,2,0,4,5,3,6,7,8,9,2,4,5,3,6,7,8,9,2,2,4,2,2,5,4,5,3,6,7,8,9,2,4,3,7,4,5,3,6,7,8,9,2,4,5,3,6,7,8,9,2,6,5,4,7,4,5,3,6,7,8,9,2,4,7,2,6,7,3,8,9,4,6,7,4,2,6,5,2,0,0,2,2,4,5,3,6,7,8,9,2,4,5,3,6,7,8,9,2,4,5,3,6,7,8,9,2,4,5,3,6,7,8,9,2,6,8,9,4,6,7,4,5,3,6,7,8,9,2],"f":[null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,null,null,null,[[["",0]],["settings",3]],[[]],[[]],[[]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",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,[[["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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"SETTINGS"],[3,"Settings"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Redis"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/settings.html b/settings.html index a61cc312..02084f9e 100644 --- a/settings.html +++ b/settings.html @@ -13,5 +13,5 @@ ayu
Preferred dark theme
Auto-hide item contents for large items.
Auto-hide item methods' documentation
Auto-hide trait implementation documentation
Directly go to item in search if there is only one result
Show line numbers on code examples
Disable keyboard shortcuts
+ ayu
Auto-hide item contents for large items.
Auto-hide item methods' documentation
Auto-hide trait implementation documentation
Directly go to item in search if there is only one result
Show line numbers on code examples
Disable keyboard shortcuts
\ No newline at end of file diff --git a/source-script.js b/source-script.js index e01a7fe2..9faf492c 100644 --- a/source-script.js +++ b/source-script.js @@ -1 +1 @@ -(function(){function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0,len=rootPathParts.length;i"){sidebar.classList.add("expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{sidebar.classList.remove("expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner=document.createElement("div");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){if(!window.rootPath.endsWith("/")){window.rootPath+="/"}var container=document.querySelector("nav.sidebar");var sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("source-sidebar-show")!=="true"){container.classList.remove("expanded")}else{container.classList.add("expanded")}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});container.appendChild(sidebar);var selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}var lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(scrollTo,match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(tocur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",function(){var match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(false,match)}});onEachLazy(document.getElementsByClassName("line-numbers"),function(el){el.addEventListener("click",handleSourceHighlight)});highlightSourceLines(true);window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file +(function(){function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0,len=rootPathParts.length;i"){sidebar.classList.add("expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{sidebar.classList.remove("expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner=document.createElement("div");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){if(!window.rootPath.endsWith("/")){window.rootPath+="/"}var container=document.querySelector("nav.sidebar");var sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("source-sidebar-show")!=="true"){container.classList.remove("expanded")}else{container.classList.add("expanded")}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});container.appendChild(sidebar);var selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}var lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(tocur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",function(){var match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("line-numbers"),function(el){el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/src/mcaptcha/api/mod.rs.html b/src/mcaptcha/api/mod.rs.html index fa1666c3..291ea817 100644 --- a/src/mcaptcha/api/mod.rs.html +++ b/src/mcaptcha/api/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 58c26177..73c03b11 100644 --- a/src/mcaptcha/api/v1/account/delete.rs.html +++ b/src/mcaptcha/api/v1/account/delete.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -156,5 +156,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 ff743aa2..8333e47c 100644 --- a/src/mcaptcha/api/v1/account/email.rs.html +++ b/src/mcaptcha/api/v1/account/email.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -192,5 +192,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 27d9624d..04c854f6 100644 --- a/src/mcaptcha/api/v1/account/mod.rs.html +++ b/src/mcaptcha/api/v1/account/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 ad859ede..c3036194 100644 --- a/src/mcaptcha/api/v1/account/password.rs.html +++ b/src/mcaptcha/api/v1/account/password.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -416,5 +416,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 1fec54fe..89f1f71e 100644 --- a/src/mcaptcha/api/v1/account/secret.rs.html +++ b/src/mcaptcha/api/v1/account/secret.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -184,5 +184,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 b1ccbe07..451ab9ff 100644 --- a/src/mcaptcha/api/v1/account/username.rs.html +++ b/src/mcaptcha/api/v1/account/username.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -224,5 +224,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 82240d69..700aea29 100644 --- a/src/mcaptcha/api/v1/auth.rs.html +++ b/src/mcaptcha/api/v1/auth.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -526,5 +526,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 248ce3df..88a62bbf 100644 --- a/src/mcaptcha/api/v1/mcaptcha/create.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/create.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -310,5 +310,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 e908d1a1..02a2e5eb 100644 --- a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -194,5 +194,5 @@
     }
 }
 
-
+
\ 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 f7b9e98f..ed81c5a9 100644 --- a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -854,5 +854,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 ced75cc2..2c0f9e15 100644 --- a/src/mcaptcha/api/v1/mcaptcha/get.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/get.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -156,5 +156,5 @@
     }
 }
 
-
+
\ 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 5e81e942..630e8014 100644 --- a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 fbe565b8..35031dd5 100644 --- a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -116,5 +116,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 3af5221b..2cfb9e15 100644 --- a/src/mcaptcha/api/v1/mcaptcha/update.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/update.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -532,5 +532,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 a0a19655..ac1089fd 100644 --- a/src/mcaptcha/api/v1/meta.rs.html +++ b/src/mcaptcha/api/v1/meta.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -304,5 +304,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 3bce5911..2b54aa82 100644 --- a/src/mcaptcha/api/v1/mod.rs.html +++ b/src/mcaptcha/api/v1/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 c153e179..d8561e1c 100644 --- a/src/mcaptcha/api/v1/notifications/add.rs.html +++ b/src/mcaptcha/api/v1/notifications/add.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -216,5 +216,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 b0a08f5c..0bed0fdd 100644 --- a/src/mcaptcha/api/v1/notifications/get.rs.html +++ b/src/mcaptcha/api/v1/notifications/get.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -334,5 +334,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 f48f2546..6c6e87d8 100644 --- a/src/mcaptcha/api/v1/notifications/mark_read.rs.html +++ b/src/mcaptcha/api/v1/notifications/mark_read.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -314,5 +314,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 1cf43a9f..8c1adf6f 100644 --- a/src/mcaptcha/api/v1/notifications/mod.rs.html +++ b/src/mcaptcha/api/v1/notifications/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 ad869ea3..626ae772 100644 --- a/src/mcaptcha/api/v1/pow/get_config.rs.html +++ b/src/mcaptcha/api/v1/pow/get_config.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -386,5 +386,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 2d649feb..17d13dc8 100644 --- a/src/mcaptcha/api/v1/pow/mod.rs.html +++ b/src/mcaptcha/api/v1/pow/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 35dbaf35..f837954a 100644 --- a/src/mcaptcha/api/v1/pow/verify_pow.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_pow.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -274,5 +274,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 019fc6d3..b65d0b68 100644 --- a/src/mcaptcha/api/v1/pow/verify_token.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_token.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -322,5 +322,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 13793398..b8b5615f 100644 --- a/src/mcaptcha/api/v1/routes.rs.html +++ b/src/mcaptcha/api/v1/routes.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 7a547889..ed994a79 100644 --- a/src/mcaptcha/data.rs.html +++ b/src/mcaptcha/data.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -450,5 +450,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 8d33e24d..1ec68af1 100644 --- a/src/mcaptcha/date.rs.html +++ b/src/mcaptcha/date.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -222,5 +222,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/demo.rs.html b/src/mcaptcha/demo.rs.html index dae0e083..c579ac82 100644 --- a/src/mcaptcha/demo.rs.html +++ b/src/mcaptcha/demo.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -342,5 +342,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/docs.rs.html b/src/mcaptcha/docs.rs.html index e40a4afd..42b4fbe9 100644 --- a/src/mcaptcha/docs.rs.html +++ b/src/mcaptcha/docs.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -276,5 +276,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/email/mod.rs.html b/src/mcaptcha/email/mod.rs.html index f3a44a8e..052c0dac 100644 --- a/src/mcaptcha/email/mod.rs.html +++ b/src/mcaptcha/email/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 ebb67f07..cd58e3ac 100644 --- a/src/mcaptcha/email/verification.rs.html +++ b/src/mcaptcha/email/verification.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -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 40fdaf5a..6190240b 100644 --- a/src/mcaptcha/errors.rs.html +++ b/src/mcaptcha/errors.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -630,5 +630,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/main.rs.html b/src/mcaptcha/main.rs.html index 14d611cc..580e9f30 100644 --- a/src/mcaptcha/main.rs.html +++ b/src/mcaptcha/main.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -380,5 +380,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 ebffc033..62f4fba7 100644 --- a/src/mcaptcha/pages/auth/login.rs.html +++ b/src/mcaptcha/pages/auth/login.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -96,5 +96,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 60b3e9c3..d39ab5f1 100644 --- a/src/mcaptcha/pages/auth/mod.rs.html +++ b/src/mcaptcha/pages/auth/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 d03f2189..3ffedb8d 100644 --- a/src/mcaptcha/pages/auth/register.rs.html +++ b/src/mcaptcha/pages/auth/register.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 de02ac5b..337c426c 100644 --- a/src/mcaptcha/pages/auth/sudo.rs.html +++ b/src/mcaptcha/pages/auth/sudo.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 d7b731d8..f5836bb7 100644 --- a/src/mcaptcha/pages/errors.rs.html +++ b/src/mcaptcha/pages/errors.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -240,5 +240,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/pages/mod.rs.html b/src/mcaptcha/pages/mod.rs.html index e36b37cc..12dffa42 100644 --- a/src/mcaptcha/pages/mod.rs.html +++ b/src/mcaptcha/pages/mod.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -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 f7218f24..75af3858 100644 --- a/src/mcaptcha/pages/panel/mod.rs.html +++ b/src/mcaptcha/pages/panel/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -198,5 +198,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 cd93a598..acc87f83 100644 --- a/src/mcaptcha/pages/panel/notifications.rs.html +++ b/src/mcaptcha/pages/panel/notifications.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -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 c70e2df5..af1294ff 100644 --- a/src/mcaptcha/pages/panel/settings.rs.html +++ b/src/mcaptcha/pages/panel/settings.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -246,5 +246,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 cc3116fc..3cc7a600 100644 --- a/src/mcaptcha/pages/panel/sitekey/add.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/add.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 c5eff16d..dd7731ae 100644 --- a/src/mcaptcha/pages/panel/sitekey/delete.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/delete.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 66d1c73c..6271d84b 100644 --- a/src/mcaptcha/pages/panel/sitekey/edit.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/edit.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -558,5 +558,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 b90e3e80..a006039e 100644 --- a/src/mcaptcha/pages/panel/sitekey/list.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/list.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -244,5 +244,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 7ff30935..8886a610 100644 --- a/src/mcaptcha/pages/panel/sitekey/mod.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 d3fbb609..10a3ef06 100644 --- a/src/mcaptcha/pages/panel/sitekey/view.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/view.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -330,5 +330,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/pages/routes.rs.html b/src/mcaptcha/pages/routes.rs.html index 11bfbb70..ca7872db 100644 --- a/src/mcaptcha/pages/routes.rs.html +++ b/src/mcaptcha/pages/routes.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 a71618bd..cda15b13 100644 --- a/src/mcaptcha/pages/sitemap.rs.html +++ b/src/mcaptcha/pages/sitemap.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 c5551594..9a409759 100644 --- a/src/mcaptcha/routes.rs.html +++ b/src/mcaptcha/routes.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 4b2606c7..f277c565 100644 --- a/src/mcaptcha/settings.rs.html +++ b/src/mcaptcha/settings.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -486,5 +486,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 b4c1f2fc..1f673e0c 100644 --- a/src/mcaptcha/static_assets/filemap.rs.html +++ b/src/mcaptcha/static_assets/filemap.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 4f92ef4d..ccc42e52 100644 --- a/src/mcaptcha/static_assets/mod.rs.html +++ b/src/mcaptcha/static_assets/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -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 a66ec358..c5fb616d 100644 --- a/src/mcaptcha/static_assets/static_files.rs.html +++ b/src/mcaptcha/static_assets/static_files.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -416,5 +416,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/stats/fetch.rs.html b/src/mcaptcha/stats/fetch.rs.html index 349c80d0..f1fb3547 100644 --- a/src/mcaptcha/stats/fetch.rs.html +++ b/src/mcaptcha/stats/fetch.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -442,5 +442,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/stats/mod.rs.html b/src/mcaptcha/stats/mod.rs.html index f0feb521..c702de80 100644 --- a/src/mcaptcha/stats/mod.rs.html +++ b/src/mcaptcha/stats/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -42,5 +42,5 @@
 pub mod fetch;
 pub mod record;
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/stats/record.rs.html b/src/mcaptcha/stats/record.rs.html index 63eacc3d..9d6d0589 100644 --- a/src/mcaptcha/stats/record.rs.html +++ b/src/mcaptcha/stats/record.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -126,5 +126,5 @@
     .await;
 }
 
-
+
\ No newline at end of file diff --git a/src/mcaptcha/widget/mod.rs.html b/src/mcaptcha/widget/mod.rs.html index fad5d035..9f28442a 100644 --- a/src/mcaptcha/widget/mod.rs.html +++ b/src/mcaptcha/widget/mod.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -166,5 +166,5 @@
     }
 }
 
-
+
\ No newline at end of file diff --git a/src/tests_migrate/settings.rs.html b/src/tests_migrate/settings.rs.html index c2c36c1a..35ef2cb9 100644 --- a/src/tests_migrate/settings.rs.html +++ b/src/tests_migrate/settings.rs.html @@ -3,105 +3,105 @@

  1
-  2
-  3
-  4
-  5
-  6
-  7
-  8
-  9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
 100
 101
 102
@@ -486,5 +486,5 @@
 //    }
 //}
 
-
+
\ No newline at end of file diff --git a/src/tests_migrate/tests-migrate.rs.html b/src/tests_migrate/tests-migrate.rs.html index f3623f20..03038765 100644 --- a/src/tests_migrate/tests-migrate.rs.html +++ b/src/tests_migrate/tests-migrate.rs.html @@ -3,15 +3,15 @@

 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+        
1
+2
+3
+4
+5
+6
+7
+8
+9
 10
 11
 12
@@ -174,5 +174,5 @@
     config.process().unwrap();
 }
 
-
+
\ No newline at end of file diff --git a/tests_migrate/all.html b/tests_migrate/all.html index ea674817..08a8ee17 100644 --- a/tests_migrate/all.html +++ b/tests_migrate/all.html @@ -3,5 +3,5 @@

+

Crate tests_migrate

\ No newline at end of file diff --git a/tests_migrate/fn.build.html b/tests_migrate/fn.build.html index 6e82c54d..a5414fac 100644 --- a/tests_migrate/fn.build.html +++ b/tests_migrate/fn.build.html @@ -4,5 +4,5 @@
pub(crate) fn build()
+

Function tests_migrate::build

source · []
pub(crate) fn build()
\ No newline at end of file diff --git a/tests_migrate/fn.cache_bust.html b/tests_migrate/fn.cache_bust.html index bb0743e4..a6adabf0 100644 --- a/tests_migrate/fn.cache_bust.html +++ b/tests_migrate/fn.cache_bust.html @@ -4,5 +4,5 @@
pub(crate) fn cache_bust()
+

Function tests_migrate::cache_bust

source · []
pub(crate) fn cache_bust()
\ No newline at end of file diff --git a/tests_migrate/fn.main.html b/tests_migrate/fn.main.html index cab46580..4e24358a 100644 --- a/tests_migrate/fn.main.html +++ b/tests_migrate/fn.main.html @@ -4,5 +4,5 @@
pub(crate) fn main()
+

Function tests_migrate::main

source · []
pub(crate) fn main()
\ No newline at end of file diff --git a/tests_migrate/index.html b/tests_migrate/index.html index 8d70e946..e7c7fe72 100644 --- a/tests_migrate/index.html +++ b/tests_migrate/index.html @@ -5,7 +5,7 @@
+
build 🔒
cache_bust 🔒
main 🔒
\ No newline at end of file diff --git a/tests_migrate/settings/fn.check_url.html b/tests_migrate/settings/fn.check_url.html index 761afafc..6f9dad84 100644 --- a/tests_migrate/settings/fn.check_url.html +++ b/tests_migrate/settings/fn.check_url.html @@ -4,5 +4,5 @@
fn check_url(s: &Config)
+

Function tests_migrate::settings::check_url

source · []
fn check_url(s: &Config)
\ No newline at end of file diff --git a/tests_migrate/settings/fn.set_database_url.html b/tests_migrate/settings/fn.set_database_url.html index 68e248df..261771be 100644 --- a/tests_migrate/settings/fn.set_database_url.html +++ b/tests_migrate/settings/fn.set_database_url.html @@ -4,5 +4,5 @@
fn set_database_url(s: &mut Config)
+

Function tests_migrate::settings::set_database_url

source · []
fn set_database_url(s: &mut Config)
\ No newline at end of file diff --git a/tests_migrate/settings/fn.set_from_database_url.html b/tests_migrate/settings/fn.set_from_database_url.html index 60bb3431..b40bdcdf 100644 --- a/tests_migrate/settings/fn.set_from_database_url.html +++ b/tests_migrate/settings/fn.set_from_database_url.html @@ -4,5 +4,5 @@
fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
+

Function tests_migrate::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/tests_migrate/settings/index.html b/tests_migrate/settings/index.html index fdc16cb4..80badbe9 100644 --- a/tests_migrate/settings/index.html +++ b/tests_migrate/settings/index.html @@ -5,6 +5,6 @@
+

Functions

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.Captcha.html b/tests_migrate/settings/struct.Captcha.html index c2841139..fd3de55b 100644 --- a/tests_migrate/settings/struct.Captcha.html +++ b/tests_migrate/settings/struct.Captcha.html @@ -5,27 +5,27 @@
pub struct Captcha {
-    pub salt: String,
-    pub gc: u64,
+    pub salt: String,
+    pub gc: u64,
     pub default_difficulty_strategy: DefaultDifficultyStrategy,
-}

Fields

salt: Stringgc: u64default_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.

-

Calls U::from(self).

+}

Fields

salt: Stringgc: u64default_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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.Database.html b/tests_migrate/settings/struct.Database.html index d3a21710..8349c09c 100644 --- a/tests_migrate/settings/struct.Database.html +++ b/tests_migrate/settings/struct.Database.html @@ -5,26 +5,26 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.DatabaseBuilder.html b/tests_migrate/settings/struct.DatabaseBuilder.html index 2b0e136c..17594c4c 100644 --- a/tests_migrate/settings/struct.DatabaseBuilder.html +++ b/tests_migrate/settings/struct.DatabaseBuilder.html @@ -5,29 +5,29 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.DefaultDifficultyStrategy.html b/tests_migrate/settings/struct.DefaultDifficultyStrategy.html index 1957365c..aa4ab8a8 100644 --- a/tests_migrate/settings/struct.DefaultDifficultyStrategy.html +++ b/tests_migrate/settings/struct.DefaultDifficultyStrategy.html @@ -5,28 +5,28 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.Redis.html b/tests_migrate/settings/struct.Redis.html index d7a39cdf..f7ddca12 100644 --- a/tests_migrate/settings/struct.Redis.html +++ b/tests_migrate/settings/struct.Redis.html @@ -5,26 +5,26 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.Server.html b/tests_migrate/settings/struct.Server.html index e30ca277..c4b0b4a2 100644 --- a/tests_migrate/settings/struct.Server.html +++ b/tests_migrate/settings/struct.Server.html @@ -5,30 +5,30 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.Settings.html b/tests_migrate/settings/struct.Settings.html index e6af6b71..5b46a7e7 100644 --- a/tests_migrate/settings/struct.Settings.html +++ b/tests_migrate/settings/struct.Settings.html @@ -5,34 +5,34 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/settings/struct.Smtp.html b/tests_migrate/settings/struct.Smtp.html index 55f3139e..51943587 100644 --- a/tests_migrate/settings/struct.Smtp.html +++ b/tests_migrate/settings/struct.Smtp.html @@ -5,30 +5,30 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/struct.SETTINGS.html b/tests_migrate/struct.SETTINGS.html index 809cb70f..91d708e2 100644 --- a/tests_migrate/struct.SETTINGS.html +++ b/tests_migrate/struct.SETTINGS.html @@ -5,20 +5,20 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file diff --git a/tests_migrate/struct.Settings.html b/tests_migrate/struct.Settings.html index 0ff41200..8bf449c3 100644 --- a/tests_migrate/struct.Settings.html +++ b/tests_migrate/struct.Settings.html @@ -5,34 +5,34 @@
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.

-

Calls U::from(self).

+ 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.

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -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.

-
+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.

+
\ No newline at end of file